Test case design techniques I: Whitebox testing CISS
|
|
|
- Teresa McCormick
- 9 years ago
- Views:
Transcription
1 Test case design techniques I: Whitebox testing
2 Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch / decision / condition / path coverage Looptesting Data flow testing Def-use pairs Efficiency of different criteria
3 Types of Testing
4 V - Model requirements acceptance test spec acceptance test specification system test spec system test architecture spec integration test spec integration test detailed design module test spec module test implementation code unit test spec unit-test
5 What is a Test? Test Cases Test Data Output Software under Test Oracle Correct result?
6 Development of Test Cases Complete testing is impossible Testing cant guarantee the absence of faults How to select subset of test cases from all possible test cases with a high chance of detecting most faults? Test Case Design Strategies
7 Sources for test case design The requirements to the program (its specification) An informal description A set of scenarios (use cases) A set of sequence diagrams A state machine The program itself A set of selection criteria Heuristics Experience
8 Test case execution Single stepping via a debugger Very clumsy for large programs Hard to rerun Manual via a set of function calls Hard to check when the number of test cases grows Fully automatic without programmers assistance Not possible so far Offline/online Fully automatic with programmers assistance Started with Junit State of the art Growing interest
9 White-Box Testing Testing based on program code Extent to which (source) code is executed, i.e. Covered Different kinds of coverage : statement coverage path coverage (multiple-) condition coverage decision / branch coverage loop coverage definition-use coverage..
10 White box testing: flow graphs Syntactic abstraction of source code Ressembles classical flow charts Forms the basis for white box test case generation principles Purpose of white box test case generation: Coverage of the flow graph in accordance with one or more test criteria
11 Flow graph construction sequence while if until case
12 White-Box : Statement Testing Execute every statement of a program Relatively weak criterion Weakest white-box criterion
13 Example : Statement Testing (result = value, if this <= maxint, error otherwise) 1 PROGRAM maxsum ( maxint, value : INT ) 2 INT result := 0 ; i := 0 ; 3 IF value < 0 4 THEN value := - value ; 5 WHILE ( i < value ) AND ( result <= maxint ) 6 DO i := i + 1 ; 7 result := result + i ; 8 OD; 9 IF result <= maxint 10 THEN OUTPUT ( result ) 11 ELSE OUTPUT ( too large ) 12 END.
14 1 1 PROGRAM maxsum ( maxint, value : INT ) 2 INT result := 0 ; i := 0 ; 3 IF value < 0 4 THEN value := - value ; 5 WHILE ( i < value ) AND ( result <= maxint ) 6 DO i := i + 1 ; 7 result := result + i ; 8 OD; 9 IF result <= maxint 10 THEN OUTPUT ( result ) 11 ELSE OUTPUT ( too large ) 12 END
15 Flow graph: Cyclomatic complexity #edges - #des + 2 Defines the maximal number of test cases needed to provide statement coverage Mostly applicable for Unit testing Strategy for statement coverage: 1. Derive flow graph 2. Find cyclomatic complexity #c 3. Determine at most #c independent paths through the program (add one new edge for each test case) 4. Prepare test cases covering the edges for each path (possibly fewer than #c cases)
16 Cyclomatic complexity? 1 1 PROGRAM maxsum ( maxint, value : INT ) 2 INT result := 0 ; i := 0 ; 3 IF value < 0 4 THEN value := - value ; 5 WHILE ( i < value ) AND ( result <= maxint ) 6 DO i := i + 1 ; 7 result := result + i ; 8 OD; 9 IF result <= maxint 10 THEN OUTPUT ( result ) 11 ELSE OUTPUT ( too large ) 12 END
17 Example : Statement Testing start value < 0 value:= -value; (i<value) and (result<=maxint) result<=maxint i:=i+1; result:=result+i; Tests for complete statement coverage: maxint value output(result); output( too large ); exit
18 White-Box : Path Testing Execute every possible path of a program, i.e., every possible sequence of statements Strongest white-box criterion Usually impossible: infinitely many paths ( in case of loops ) So: t a realistic option But te : ermous reduction w.r.t. all possible test cases ( each sequence of statements executed for only one value )
19 Example : Path Testing start output(result); value < 0 (i<value) and (result<=maxint) result<=maxint output( too large ); value:= -value; i:=i+1; result:=result+i; Path: start i:=i+1; result:=result+i; i:=i+1; result:=result+i;... i:=i+1; result:=result+i; output(result); exit exit
20 White-Box : Branch Testing Branch testing == decision testing Execute every branch of a program : each possible outcome of each decision occurs at least once Example: IF b THEN s1 ELSE s2 IF b THEN s1; s2 CASE x OF 1 :. 2 :. 3 :.
21 Example : Branch Testing start value < 0 (i<value) and (result<=maxint) value:= -value; i:=i+1; result:=result+i; Tests for complete statement coverage: maxint value is t sufficient for branch coverage; result<=maxint output(result); output( too large ); exit Take: maxint value for complete branch coverage
22 Example : Branch Testing start value < 0 (i<value) and (result<=maxint) value:= -value; i:=i+1; result:=result+i; maxint value But: No green path! result<=maxint Needed : Combination of decisions output(result); output( too large ); 10-3 exit
23 Example : Branch Testing start value < 0 value:= -value; i:=i+1; result:=result+i; Sometimes there are infeasible paths ( infeasible combinations of conditions ) (i<value) and (result<=maxint) result<=maxint output(result); output( too large ); exit
24 White-Box : Condition Testing Design test cases such that each possible outcome of each condition in each decision occurs at least once Example: decision ( i < value ) AND (result <= maxint ) consists of two conditions : ( i < value ) AND (result <= maxint ) test cases should be designed such that each gets value true and false at least once
25 Example : Condition Testing start output(result); value < 0 (i<value) and (result<=maxint) result<=maxint exit output( too large ); value:= -value; i:=i+1; result:=result+i; ( i = result = 0 ) : maxint value i<value result<=maxint -1 1 true false 1 0 false true gives condition coverage for all conditions But it does t preserve decision coverage always take care that condition coverage preserves decision coverage : decision / condition coverage
26 White-Box : Multiple Condition Testing Design test cases for each combination of conditions Example: ( i < value ) (result <= maxint ) false false false true true false true true Implies decision-, condition-, decision/condition coverage But : exponential blow-up Again : some combinations may be infeasible
27 White-box: loop testing Statement and branch coverage are t sufficient Single loop strategy: Zero iterations One iteration Two iterations Typical number of iterations n-1, n, and n+1 iterations (n maximum number of allowable iterations) Nested loop strategy: Single loop strategy often intractable Select minimum values for outer loop(s) Treat inner loop as a single loop Work outwards and choose typical values for inner loops Concatenated loops: Treat as single, if independent Treat as nested, if dependent
28 Example : Loop testing value < 0 (i<value) and (result<=maxint) start value:= -value; i:=i+1; result:=result+i; Tests for complete loop coverage: maxint value result<=maxint output(result); output( too large ); exit
29 White-box testing: Data Flow criteria Basic idea: For each variable definition (assignment), find a path (and a corresponding test case), to its use(s). A pair (definition,use) is often called a DU pair. Three dominant strategies: All-defs (AD) strategy: follow at least one path from each definition to some use of it All-uses (AU) strategy: follow at least one path for each DU pair All-du-uses strategy (ADUP): follow all paths between a DU pair Complements the testing power of decision coverage
30 Example: All-uses coverage 1 D m,v 1 PROGRAM maxsum ( maxint, value : INT ) 2 INT result := 0 ; i := 0 ; 3 IF value < 0 4 THEN value := - value ; 5 WHILE ( i < value ) AND ( result <= maxint ) 6 DO i := i + 1 ; 7 result := result + i ; 8 OD; 9 IF result <= maxint 10 THEN OUTPUT ( result ) 11 ELSE OUTPUT ( too large ) 12 END. U i,v,r,m 2 D r,i U v U v ;D v 3 4 U r,i ;D r,i U r,m 9 Def-use pairs: Tests for complete all-uses coverage: 1-3,1-5,1-9,1-4 maxint value 2-5,2-9, U r ,6-9,
31 White-Box : Overview statement coverage condition coverage decision (branch) coverage decision/ condition coverage multiplecondition coverage path coverage
32 White-Box : Overview statement coverage all defs coverage decision (branch) coverage all uses coverage all du paths coverage path coverage
33 Additional techniques: mutation and random testing Mutation testing: Intended for evaluating the test cases Create at set of slightly modified mutants of the original program containing errors Run the test cases against the mutants Criteria All mutants must fail (strong) All mutants will eventually fail (weak) Random testing: Basic idea: run the program with arbitrary inputs Inherent problems: How to define the oracle for arbitrary inputs and how to decide to stop? Advantage: The program structure can be igred
34 Efficiency of white-box techniques: two studies Strategy #test cases %bugs found Random Branch All-uses Random Branch All-uses
Test case design techniques I: Whitebox testing CISS
Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch
Test Case Design Techniques
Summary of Test Case Design Techniques Brian Nielsen, Arne Skou {bnielsen ask}@cs.auc.dk Development of Test Cases Complete testing is impossible Testing cannot guarantee the absence of faults How to select
Introduction to Computers and Programming. Testing
Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software
Test case design techniques II: Blackbox testing CISS
Test case design techniques II: Blackbox testing Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing
Different Approaches to White Box Testing Technique for Finding Errors
Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman [email protected] Abstract
Software Testing. Jeffrey Carver University of Alabama. April 7, 2016
Software Testing Jeffrey Carver University of Alabama April 7, 2016 Warm-up Exercise Software testing Graphs Control-flow testing Data-flow testing Input space testing Test-driven development Introduction
Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions
Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions Tao Xie 1 and David Notkin 2 ([email protected],[email protected]) 1 Department of Computer Science, North Carolina
APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION
1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
Selecting Software Testing Criterion based on Complexity Measurement
Tamkang Journal of Science and Engineering, vol. 2, No. 1 pp. 23-28 (1999) 23 Selecting Software Testing Criterion based on Complexity Measurement Wen C. Pai, Chun-Chia Wang and Ding-Rong Jiang Department
Dataflow approach to testing Java programs supported with DFC
e-informatica Software Engineering Journal, Volume 9, Issue 1, 2015, pages: 9 19, DOI 10.5277/e-Inf150101 Dataflow approach to testing Java programs supported with DFC Ilona Bluemke, Artur Rembiszewski
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance
A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance Andy Podgurski Lori A. Clarke Computer Engineering & Science Department Case Western Reserve
Introduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline
Introduction to Software Testing Chapter 8. Building Testing Tools Instrumentation Paul Ammann & Jeff Offutt www.introsoftwaretesting.com Chapter 8 Outline. Instrumentation for Graph and Logical Expression
Logistics. Software Testing. Logistics. Logistics. Plan for this week. Before we begin. Project. Final exam. Questions?
Logistics Project Part 3 (block) due Sunday, Oct 30 Feedback by Monday Logistics Project Part 4 (clock variant) due Sunday, Nov 13 th Individual submission Recommended: Submit by Nov 6 th Scoring Functionality
Automatic Test Data Synthesis using UML Sequence Diagrams
Vol. 09, No. 2, March April 2010 Automatic Test Data Synthesis using UML Sequence Diagrams Ashalatha Nayak and Debasis Samanta School of Information Technology Indian Institute of Technology, Kharagpur
Software Testing. Quality & Testing. Software Testing
Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.
CSTE Mock Test - Part III Questions Along with Answers
Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part III paper. 1. Independence is important in testing is mostly due to the fact that (Ans: C) a. Developers
1 White-Box Testing by Stubs and Drivers
White-box testing is a verification technique software engineers can use to examine if their code works as expected. In this chapter, we will explain the following: a method for writing a set of white-box
each college c i C has a capacity q i - the maximum number of students it will admit
n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i
2 SYSTEM DESCRIPTION TECHNIQUES
2 SYSTEM DESCRIPTION TECHNIQUES 2.1 INTRODUCTION Graphical representation of any process is always better and more meaningful than its representation in words. Moreover, it is very difficult to arrange
Optimizations. Optimization Safety. Optimization Safety. Control Flow Graphs. Code transformations to improve program
Optimizations Code transformations to improve program Mainly: improve execution time Also: reduce program size Control low Graphs Can be done at high level or low level E.g., constant folding Optimizations
Software Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall-2015 1
QUIZ-II Write a program that mimics a calculator. The program should take as input two integers and the operation to be performed. It should then output the numbers, the operator, and the result. (For
Search-based Data-flow Test Generation
Search-based Data-flow Test Generation Mattia Vivanti University of Lugano Lugano, Switzerland [email protected] Andre Mis Alessandra Gorla Saarland University Saarbrücken, Germany {amis,gorla}@cs.uni-saarland.de
Graph Theory Problems and Solutions
raph Theory Problems and Solutions Tom Davis [email protected] http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is
Experimental Comparison of Concolic and Random Testing for Java Card Applets
Experimental Comparison of Concolic and Random Testing for Java Card Applets Kari Kähkönen, Roland Kindermann, Keijo Heljanko, and Ilkka Niemelä Aalto University, Department of Information and Computer
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF MINNESOTA BY Sai Charan Raj Chitirala IN PARTIAL
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Software Testing. System, Acceptance and Regression Testing
Software Testing System, Acceptance and Regression Testing Objectives Distinguish system and acceptance testing o How and why they differ from each other and from unit and integration testing Understand
Small Maximal Independent Sets and Faster Exact Graph Coloring
Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science The Exact Graph Coloring Problem: Given an undirected
Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
Software Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini [email protected],
Genetic Algorithm Based Test Data Generator
Genetic Algorithm Based Test Data Generator Irman Hermadi Department of Information and Computer Science King Fahd University of Petroleum & Minerals KFUPM Box # 868, Dhahran 31261, Saudi Arabia [email protected]
Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.
Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity
Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.
Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan
Sample Exam. 2011 Syllabus
ISTQ Foundation Level 2011 Syllabus Version 2.3 Qualifications oard Release ate: 13 June 2015 ertified Tester Foundation Level Qualifications oard opyright 2015 Qualifications oard (hereinafter called
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
Coverage Criteria for Search Based Automatic Unit Testing of Java Programs
ISSN (Online): 2409-4285 www.ijcsse.org Page: 256-263 Coverage Criteria for Search Based Automatic Unit Testing of Java Programs Ina Papadhopulli 1 and Elinda Meçe 2 1, 2 Department of Computer Engineering,
Computer Science 217
Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Measurement Information Model
mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides
Software Testing. 1 Introduction. Gregory M. Kapfhammer Department of Computer Science Allegheny College [email protected]
Software Testing Gregory M. Kapfhammer Department of Computer Science Allegheny College [email protected] I shall not deny that the construction of these testing programs has been a major intellectual
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,
A New Software Data-Flow Testing Approach via Ant Colony Algorithms
Universal Journal of Computer Science and Engineering Technology 1 (1), 64-72, Oct. 2010. 2010 UniCSE, ISSN: 2219-2158 A New Software Data-Flow Testing Approach via Ant Colony Algorithms Ahmed S. Ghiduk
Flowcharting, pseudocoding, and process design
Systems Analysis Pseudocoding & Flowcharting 1 Flowcharting, pseudocoding, and process design The purpose of flowcharts is to represent graphically the logical decisions and progression of steps in the
Simulation and Lean Six Sigma
Hilary Emmett, 22 August 2007 Improve the quality of your critical business decisions Agenda Simulation and Lean Six Sigma What is Monte Carlo Simulation? Loan Process Example Inventory Optimization Example
Going Faster: Testing The Web Application. By Adithya N. Analysis and Testing of Web Applications Filippo Ricca and Paolo Tonella
Testing Web Applications Testing Web Applications By Adithya N. Going Faster: Testing The Web Application Edward Hieatt and Robert Mee (IEEE Software) Analysis and Testing of Web Applications Filippo Ricca
Improved Software Testing Using McCabe IQ Coverage Analysis
White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your
AUTOMATED SOFTWARE TEST DATA GENERATION: DIRECTION OF RESEARCH
AUTOMATED SOFTWARE TEST DATA GENERATION: DIRECTION OF RESEARCH Hitesh Tahbildar 1 and Bichitra Kalita 2 1 Department of Computer Engineering and Application, Assam Engineering Institute, Guwahati, Assam
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department
6. Control Structures
- 35 - Control Structures: 6. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may bifurcate, repeat code or take decisions. For that purpose,
Testing Introduction. IEEE Definitions
Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the
Dynamic programming formulation
1.24 Lecture 14 Dynamic programming: Job scheduling Dynamic programming formulation To formulate a problem as a dynamic program: Sort by a criterion that will allow infeasible combinations to be eli minated
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
ALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence of steps that describe solution of problem this sequence of steps
SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis
SYSM 6304: Risk and Decision Analysis Lecture 5: Methods of Risk Analysis M. Vidyasagar Cecil & Ida Green Chair The University of Texas at Dallas Email: [email protected] October 17, 2015 Outline
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
Transparent Monitoring of a Process Self in a Virtual Environment
Transparent Monitoring of a Process Self in a Virtual Environment PhD Lunchtime Seminar Università di Pisa 24 Giugno 2008 Outline Background Process Self Attacks Against the Self Dynamic and Static Analysis
Lecture Notes on Linear Search
Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is
New Tools for Testing Web Applications with Python
New Tools for Testing Web Applications with Python presented to PyCon2006 2006/02/25 Tres Seaver Palladion Software [email protected] Test Types / Coverage Unit tests exercise components in isolation
1.3 Conditionals and Loops
A Foundation for Programming 1.3 Conditionals and Loops any program you might want to write objects functions and modules graphics, sound, and image I/O arrays conditionals and loops Math primitive data
Reducing Clocks in Timed Automata while Preserving Bisimulation
Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2
Regression Verification: Status Report
Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)
CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality
Unit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18
Unit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18 Unit objective and aim(s): This unit aims to give learners a
Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency
Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency ABSTRACT Fault identification and testing has always been the most specific concern in the field of software
Two-way selection. Branching and Looping
Control Structures: are those statements that decide the order in which individual statements or instructions of a program are executed or evaluated. Control Structures are broadly classified into: 1.
Good FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the
Calculator. Introduction. Requirements. Design. The calculator control system. F. Wagner August 2009
F. Wagner August 2009 Calculator Introduction This case study is an introduction to making a specification with StateWORKS Studio that will be executed by an RTDB based application. The calculator known
Measuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems
Measuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems M. N. Clark, Bryan Salesky, Chris Urmson Carnegie Mellon University Dale Brenneman McCabe Software Inc. Corresponding
Fail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and
Code Obfuscation. Mayur Kamat Nishant Kumar
Code Obfuscation Mayur Kamat Nishant Kumar Agenda Malicious Host Problem Code Obfuscation Watermarking and Tamper Proofing Market solutions Traditional Network Security Problem Hostile Network Malicious
Clustering and scheduling maintenance tasks over time
Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating
EECS 583 Class 11 Instruction Scheduling Software Pipelining Intro
EECS 58 Class Instruction Scheduling Software Pipelining Intro University of Michigan October 8, 04 Announcements & Reading Material Reminder: HW Class project proposals» Signup sheet available next Weds
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition
