Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design

Size: px
Start display at page:

Download "Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design"

Transcription

1 Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design Anna Zamansky 1 and Eitan Farchi 2 1 University of Haifa, Israel 2 IBM Haifa Research Lab, Israel Abstract. Combinatorial test design (CTD) is an effective test planning technique that reveals faulty feature interaction in a given system. CTD takes a systematic approach to formally model the system to be tested, and propose test cases ensuring coverage of given conditions or interactions between parameters. In this position paper we propose a framework for supporting agile CTD, a human-centered methodology, which takes into account the human tester s possible mistakes and supports revision and refinement. In this approach a combinatorial model of the system and test plans are constructed in an incremental and iterative way, providing the tester with the ability to refine and validate the constructions. We propose a formal framework which can be used as a theoretical foundation for the development of agile CTD support tools, and describe a use case of an envisioned tool. 1 Introduction As software systems become increasingly complex, verifying their correctness becomes more challenging. Formal verification approaches are highly sensitive to the size of complexity of software, and might require extremely expensive resources. Functional testing, on the other hand, is prone to omissions, as it always involves a selection of what to test from a potentially enormous space of scenarios, configurations or conditions that is typically exponential in nature. The process of test planning refers to the design and selection of tests out of a test space aiming at reducing the risk of bugs while minimizing redundancy of tests. Combinatorial Test Design (CTD) [6,10] is an effective test planning technique, in which the space to be tested, called a combinatorial model, is represented by a set of parameters, their respective values and restrictions on the value combinations [8]. CTD approaches can be applied at different phases and scopes of testing, including end-to-end and system-level testing and feature-, service- and application program interface-level testing. The main challenge of CTD consists of finding a small (and ideally minimal) set of test cases (a subset of the space to be tested), which ensures coverage of given conditions, or interactions between variables (such as pairs, three-way, etc.) Experiments show that a test set that covers all possible pairs of parameter

2 values can typically detect between 50 to 75 percent of the bugs in a program ([9]). Other experimental work has shown that typically all bugs can be revealed by covering the interaction of between 4 to 6 patameters [3]. One important task in CTD is the construction of a combinatorial model of a system, which includes a set of parameters, their respective values and logical restrictions on value combinations. Typically, the parameters of the model do not map directly to user inputs of the system, but are rather a high-level abstraction of them. Identifying correctly the set of parameters for the model, their values - and most importantly - the restrictions on them is a laborious task which requires abstract thinking and a considerable level of familiarity with formal logic. Another task is the planning of tests over the constructed model, which satisfy a chosen coverage requirement (e.g., pairwise coverage). The complex and error-prone nature of both of these tasks leads to the need for automatic tools supporting the human tester. While there are numerous studies on human errors (see, e.g. [1,5]), and in particular on human factors in software development ([7,4]), they have been only marginally addressed in the context of combinatorial test design. In this position paper we propose an explicitly human-centered methodology for CTD, which takes into account the possibility of the tester s error and provides the tester with systematic tools to refine and validate the constructed models and test plans. We propose the term agile test design to refer to such approach, reflecting the incremental and interative way in which models and test plans are constructed. We propose a formal framework which can be used as a theoretical foundation for the development of agile CTD tools, and describe a use case of an envisioned tool. 2 A Vision for Agile Test Design Typically, the CTD methodology is applied in the following stages. First the tester constructs a combinatorial model of the system by providing a set scenarios which are executable in the system. After choosing the coverage requirements, the second stage is constructing a test plan, i.e., proposing a set of tests over the model, so that full coverage with respect to a chosen coverage strategy is achieved. In practice, taking into account the human factor [1,5], errors are possible at both of these stages. Moreover, error discovery in the test plan may cause the tester to return to the model and refine it, and vice versa. To reflect the iterative and incremental nature of the two stages of CTD, we propose the term agile test planning. This notion is based on the assumption that the tester s activity is not errorproof: errors can happen, both in the model and the test plan, and should be taken into account. Therefore, correctness of the combinatorial model is not assumed at the stage of test planning, and the tester may go back to refining the model at any point. The basic unit manipulated by the tester is a test. A test is represented by a vector of values assigned to systems parameters. The combinatorial model of the system is a set of all tests which describe possible (or executable) behaviors

3 of the system. A test plan is a set of tests out of the model space which satisfy some chosen coverage policy (such as pairwise testing). We divide the space of tests into three basic types, according to the information available from the tester: 1. validated - these are the tests that the tester confirmed as executable (according to some chosen confirmation strategy). 2. rejected - these are the tests that the tester rejected as impossible, either by explicitly removing them from the model, or by providing a logical condition that rules them out. 3. uncertain - these are the tests for which not enough information has been provided to classify them as validated/rejected. Agile test design, therefore, can be thought of as an iterative process, the goal of which is to validate or reject each possible test, arriving at a coherent combinatorial model of the system, together with a test plan satisfying the chosen coverage. Referring to the above three types of tests as colors: green, red and yellow respectively, the goal is eliminating all yellow tests by turning them either to green or to red. This can be done by raising a series of questions to the tester, which help determine if tests are missing in the test plan (and so the combinatorial model should be expanded, turning yellow to green), or the combinatorial model contains non-executable tests (and so it should be reduced, turning some yellow tests to red). The methodology described above allows for a great amount of flexibility, both for user querying strategies, and for validation/rejection strategies. For instance, we may want to minimize the time it takes the tester to arrive to a coherent solution, or the cognitive load of the tester (by presenting him only small portions of tests in each interation). 3 The Formal Framework 3.1 Combinatorial Models and Test Plans Definition 1. (System space) A system space is a a finite set of system parameters P = {A 1,..., A n } together with their corresponding associated values {V(A 1 ),..., V(A n )}. For any value a V(A i ), we say that a has type A i, denoted by type(a) = A i. Definition 2. (Interactions, scenarios) An interaction is an element I m 1 V(A i) such that for distinct a, b I, type(a) type(b). An interaction of size n (where n is the number of system parameters) is called a scenario. Example 1. As our running example, let us consider a system in which there are two servers S 1 and S 2, which can be either active (up) or inactive (down). Moreover, there are two operations Send and Ping, which can be performed by either one of the servers. We can set the system parameters to P = {S 1, S 2, Op}, where:

4 V (S 1 ) = {up 1, down 1 } V (S 2 ) = {up 2, down 2 } V (Op) = {Send 1, Send 2, P ing 1, P ing 2 } So, e.g., an assignment S 1 = up 1, S 2 = down 2 and Op = Send 1 represents a situation where the first server is up, performing the send operation and the second is down. Moverover, {up 1, Send 0 } and up 1, down 2, P ing 0 } are interactions; the latter is also a scenario. Definition 3. (Coverage) We say that a set of scenarios T covers a set of interactions C if for every c C there is some t T, such that c t. Example 2. Let the global system space be P = {FileOps, PathName, OS}, where V(FileOps) = {open, close, read, write} V(PathName) = {relative, absolute} V(OS) = {unix, windows} Then we can define interactions I 1 = {open, relative} and I 2 = {close, absolute}. We can define further define scenarios t 1 = {open, relative, unix} and t 2 = {close, absolute, windows}. Note that {t 1, t 2 } covers {I 1, I 2 } Definition 4. (Combinatorial model) A combinatorial model E is a set of scenarios (which defines all scenarios executable in the system). Definition 5. (Test plan) A test plan is a triple P = (E, C, T ), where E is a combinatorial model, C is a set of interactions called coverage requirements, and T is a set of scenarios called tests, where T covers C. Example 3. The most standard coverage requirement in the domain of combinatorial test design is pairwise testing [10,9]: considering every (executable) pair of possible values of system parameters. In terms of the above definition, a pairwise test plan can be formulated as any pair of the form P = (E, C pair (E), T ), where C pair is the set of all interactions of size 2 which can be extended to scenarios from E. 3.2 Representing Models and Plans as Logical Theories Recall that P = {A 1,..., A n } is our set of system parameters and {V(A 1 ),..., V(A n )} their corresponding ranges of values. Definition 6. F P, the set of well formed formulas of P is defined inductively as follows:

5 A i : a F for every 1 i n and a V P (A i ). We call such formulas atomic. If ψ, F P, then ψ, (ϕ ψ), (ϕ ψ), (ϕ ψ) F P. When the parameter is clear from context, we shall write just a instead of A i : a. So examples of formulas for P defined in Example 1 are: open, relative, ((open relative) unix). Every formula of F P naturally induces a set of scenarios (i.e., assignments to system parameters, or in other words, tests) in the following sense: Definition 7. Let ψ F P and let s be some scenario. We say that s satisfies ψ, denoted by s = ψ iff: ψ = A i : a and a s. ψ = ϕ 1 ϕ 2, s = ϕ 1 and s = ϕ 2. The rest of the cases are defined similarly. For a formula ψ, we define mod(ψ) = {s s = ψ}. For a theory Γ = {ψ 1,..., ψ n }, we denote mod(γ ) = mod(ψ 1 )... mod(ψ n ). The above definition provides a useful link between logical theories and sets of tests: a set of formulas Γ naturally defines a subset of tests by mod(γ ). Thus the tester may use formulas pf the above form to specify sets of tests of interest. 3.3 Agile CTD: Iterative Uncertainty Elimination Let us now describe the framework of agile CTD more formally, using the notions introduced above. The goal of the tester is to provide a valid test plan P = (E, C, T ). By a validity we mean here that (i) T satisfies all coverage requirements in C, and (ii) T is a subset of E. A coherent solution is reached when both (i) and (ii) are satisfied, if one of them is violated our envisioned tool supports an interative resolution of such violations. It is important to note that in our framework we do not assume the availability of E, the combinatorial model, rather it is extracted when the tester specifies a set of specific test cases T, as well as some logical restrictions (in the form of formulas as defined above) on the combinatorial model, which provide only partial information about E. Once the tester is satisfied with the constructed plan, a support tool may be invoked. The tool may automatically extract the combinatorial model from the provided tests and logical restrictions. Each test in the model has a status: those appearing in the test plan are validated (green), those ruled out by the logical conditions are rejected (red), the remaining ones are uncertain (yellow). The tool then may raise a sequence of questions that help determine the status of each of the yellow tests in the model. Different sequences may be proposed according to different considerations.

6 3.4 A Possible Use Case Let us describe a possible agile test planning use case. Suppose the coverage requirement is pairwise coverage. Returning to the system from Example 1, suppose that not all test cases are executable and further restrictions should be imposed. For instance, assume that server 1 can perform both send and ping operations, while server 2 can only perform ping operations. Moreover, only one of the servers can be up at the same time. If these are the only restrictions, the set of the executable scenarios can be described (in the sense of Definition 7) by the logical theory Γ = {up 1 down 2, up 2 P ing 0 P ing 1 }. Suppose, however, that the tester erroneously thinks that all combinations are possible and provides no logical restrictions for the model at this point. This induces the whole set E 0 = V (S 1 ) V (S 2 ) V (Op) as the underlying combinatorial model. The tester further proposes the following test cases: S 1 S 2 Op down 1 up 2 Ping 0 down 1 up 2 Ping 1 up 1 down 2 Send 0 up 1 down 2 Send 1 up 1 down 2 Ping 0 up 1 down 2 Ping 1 Once the tester submits the test plan, the six tests above are colored green (validated) in the model, the rest remaining yellow as no additional restriction ruling them out have been provided. At this point the tester s mistake may be discovered, as pairwise coverage is not achieved: the following interactions remain uncovered: {up 1, up 2 }, {down 1, down 2 }, {up 2, Send 0 }, {up 2, Send 1 } This could be either due to the fact that the tester forgot to add some tests, or he intentionally left them out as they are not executable in the system. In the former case he will add further concrete test cases, which will turn green in the model. In the latter case, however, he needs to refine the combinatorial model of the system, either explicitly or by adding logical restrictions, which will make some tests red in the model. In any case, the level of uncertainty (the number of yellow-colored tests) will be reduced at each interation. To maintain scalability to large parameter sets, a useful strategy can be to consider smaller projections at each iteraction. So, e,g, the tool may focus on the projection {S 1, S 2 }, asking the tester whether he wants to add tests to cover the interactions {up 1, up 2 }, {down 1, down 2 }. A negative answer implies that some scenarios should be excluded from the model. In this case a logical condition up 1 down 2 explaining this discrepancy can be suggested to refine the model. It is an interesting direction for further investigation to investigate strategies for

7 looking for the logical conditions which would make the most sense to the tester. Suppose that the user may now accept this model refinement, leading to further yellow tests turning red. The remaining missing interactions {up 2, Send 0 }, {up 2, Send 1 } are in the projection {S 2, Op}, on which the tool may focus next. We can again ask the tester whether he wants to add tests to cover them. He replies negatively, and the logical condition up 2 P ing 0 P ing 1 explaining this discrepancy can be suggested to refine the model. 4 Summary and Future Work The tester s main tasks in combinatorial test design, which include modelling the system and test planning, are laborious and error-prone. In this position paper we presented a vision for automatic support tools for CTD testers, which support an agile iterative test design. This approach takes into account the errorprone nature of the human tester s tasks, and supports the tester in refining and correcting his outputs by proposing a series of queries. We proposed here a framework for formalization of agile CTD, which can be used as a theoretical basis for developing future automatic support tools. An immediate direction for further research is an implementation of a prototype of the proposed tool. We plan to implement it using the environment of IBM Functional Coverage Unified Solution (FoCuS [2]), which is a tool for test-oriented system modeling, for model based test planning, and for functional coverage analysis. Another challenge is proposing methods to quantify the added value such tool may provide to the human testers. A starting point here could be proposing measurable criteria for the quality of combinatorial models. These criteria could then be used to compare manually constructed combinatorial models to models constructed with the help of our tool. When developing tools to support agile CTD, there is a level of freedom when considering different minimization strategies, which in their turn induce the order and type of questions posed by the tool to the user. One possible strategy is the minimization of time to complete a test plan. In this case questions answers to which make more tests certain should be preferred. Another strategy could be minimization of the cognitive load of the tester. In this case we may propose first logical restrictions involving a small number of parameters, or capturing a small number of tests which can be vizualized on screen. Human factors have so far received little attention in combinatorial test design. It is our hope that this paper will start a discourse on the practical needs of testers in the process of test design and combinatorial system modelling. References 1. BS Dhillon. Engineering product usability: a review and analysis techniques. WSEAS TRANSACTIONS on CIRCUITS and SYSTEMS, 2:86 94, group.php?id=1871.

8 3. D Richard Kuhn, Dolores R Wallace, and Jr AM Gallo. Software fault interactions and implications for software testing. Software Engineering, IEEE Transactions on, 30(6): , Christoph Malz, Kerstin Sommer, Peter Göhner, and Birgit Vogel-Heuser. Consideration of human factors for prioritizing test cases for the software system test. In Engineering Psychology and Cognitive Ergonomics, pages Springer, Tina Mioch, Jan-Patrick Osterloh, and Denis Javaux. Selecting human error types for cognitive modelling and simulation. In Human modelling in assisted transportation, pages Springer, Changhai Nie and Hareton Leung. A survey of combinatorial testing. ACM Computing Surveys (CSUR), 43(2):11, Laleh Pirzadeh. Human factors in software development: A systematic literature review Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick. Common patterns in combinatorial models. In Proceedings of the IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST), pages IEEE, KuoChung Tai and Yu Lie. A test generation strategy for pairwise testing. IEEE Transactions on Software Engineering, 28(1): , Jian Zhang, Zhiqiang Zhang, and Feifei Ma. Introduction to combinatorial testing. In Automatic Generation of Combinatorial Test Data, pages Springer, 2014.

Mining High Order Decision Rules

Mining High Order Decision Rules Mining High Order Decision Rules Y.Y. Yao Department of Computer Science, University of Regina Regina, Saskatchewan, Canada S4S 0A2 e-mail: yyao@cs.uregina.ca Abstract. We introduce the notion of high

More information

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing

More information

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011 Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are

More information

On The Theoretical Foundation for Data Flow Analysis in Workflow Management

On The Theoretical Foundation for Data Flow Analysis in Workflow Management Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2005 Proceedings Americas Conference on Information Systems (AMCIS) 2005 On The Theoretical Foundation for Data Flow Analysis in

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

INCONSISTENT DATABASES

INCONSISTENT DATABASES INCONSISTENT DATABASES Leopoldo Bertossi Carleton University, http://www.scs.carleton.ca/ bertossi SYNONYMS None DEFINITION An inconsistent database is a database instance that does not satisfy those integrity

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

ROUGH SETS THEORY AND UNCERTAINTY INTO INFORMATION SYSTEM

ROUGH SETS THEORY AND UNCERTAINTY INTO INFORMATION SYSTEM ROUGH SETS THEORY AND UNCERTAINTY INTO INFORMATION SYSTEM Pavel Jirava Institute of System Engineering and Informatics Faculty of Economics and Administration, University of Pardubice Abstract: This article

More information

Resource Sharing & Management

Resource Sharing & Management Resource Sharing & Management P.C.P Bhatt P.C.P Bhatt OS/M6/V1/2004 1 Introduction Some of the resources connected to a computer system (image processing resource) may be expensive. These resources may

More information

Line Graphs and Circulants

Line Graphs and Circulants Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),

More information

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Random projection for non-gaussian mixture models

Random projection for non-gaussian mixture models Random projection for non-gaussian mixture models Győző Gidófalvi Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92037 gyozo@cs.ucsd.edu Abstract Recently,

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014 Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction

More information

Winning Positions in Simplicial Nim

Winning Positions in Simplicial Nim Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:

More information

Rubicon: Scalable Bounded Verification of Web Applications

Rubicon: Scalable Bounded Verification of Web Applications Joseph P. Near Research Statement My research focuses on developing domain-specific static analyses to improve software security and reliability. In contrast to existing approaches, my techniques leverage

More information

Interactive Fault Localization Using Test Information

Interactive Fault Localization Using Test Information Hao D, Zhang L, Xie T et al. Interactive fault localization using test information. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 24(5): 962 974 Sept. 2009 Interactive Fault Localization Using Test Information

More information

Lose It! Weight Loss App Heuristic Evaluation Report

Lose It! Weight Loss App Heuristic Evaluation Report Lose It! Weight Loss App Heuristic Evaluation Report By Manuel Ryan Espinsa Manuel Ryan Espinosa 1-27-2017 Heuristic Evaluation IN4MATX 283 LEC A: USER EXPERIENCE (37000) TABLE OF CONTENTS EXECUTIVE SUMMARY

More information

Crown-free highly arc-transitive digraphs

Crown-free highly arc-transitive digraphs Crown-free highly arc-transitive digraphs Daniela Amato and John K Truss University of Leeds 1. Abstract We construct a family of infinite, non-locally finite highly arc-transitive digraphs which do not

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

The LUCID Design Framework (Logical User Centered Interaction Design)

The LUCID Design Framework (Logical User Centered Interaction Design) The LUCID Design Framework (Logical User Centered Interaction Design) developed by Cognetics Corporation LUCID Logical User Centered Interaction Design began as a way of describing the approach to interface

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Scope and Sequence for the New Jersey Core Curriculum Content Standards

Scope and Sequence for the New Jersey Core Curriculum Content Standards Scope and Sequence for the New Jersey Core Curriculum Content Standards The following chart provides an overview of where within Prentice Hall Course 3 Mathematics each of the Cumulative Progress Indicators

More information

CMSC 132: OBJECT-ORIENTED PROGRAMMING II

CMSC 132: OBJECT-ORIENTED PROGRAMMING II CMSC 132: OBJECT-ORIENTED PROGRAMMING II Program Testing Department of Computer Science University of Maryland, College Park Debugging Is Harder Than Coding! Debugging is twice as hard as writing the code

More information

On the implementation of a multiple output algorithm for defeasible argumentation

On the implementation of a multiple output algorithm for defeasible argumentation On the implementation of a multiple output algorithm for defeasible argumentation Teresa Alsinet 1, Ramón Béjar 1, Lluis Godo 2, and Francesc Guitart 1 1 Department of Computer Science University of Lleida

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine

No model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine No model may be available Programmer Software Abstractions Tests Coverage Code Abhik Roychoudhury CS 5219 National University of Singapore Testing Debug Today s lecture Abstract model (Boolean pgm.) Desirable

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

Fault Class Prioritization in Boolean Expressions

Fault Class Prioritization in Boolean Expressions Fault Class Prioritization in Boolean Expressions Ziyuan Wang 1,2 Zhenyu Chen 1 Tsong-Yueh Chen 3 Baowen Xu 1,2 1 State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093,

More information

Syntactic and Semantic Differencing for Combinatorial Models of Test Designs

Syntactic and Semantic Differencing for Combinatorial Models of Test Designs Syntactic and Semantic Differencing for Combinatorial Models of Test Designs Rachel Tzoref-Brill School of Computer Science, Tel Aviv University and IBM Research, Israel Shahar Maoz School of Computer

More information

Validation of models and tests for constrained combinatorial interaction testing

Validation of models and tests for constrained combinatorial interaction testing Validation of models and tests for constrained combinatorial interaction testing Paolo Arcaini Angelo Gargantini Paolo Vavassori University of Bergamo- Italy International Workshop on Combinatorial Testing

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams 2-CS-626- Formal Verification Department of Computer Science University of Cincinnati Introduction Binary Decision Diagrams (BDD) [, 8] are a general, graphical representation

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the

More information

Content Based Smart Crawler For Efficiently Harvesting Deep Web Interface

Content Based Smart Crawler For Efficiently Harvesting Deep Web Interface Content Based Smart Crawler For Efficiently Harvesting Deep Web Interface Prof. T.P.Aher(ME), Ms.Rupal R.Boob, Ms.Saburi V.Dhole, Ms.Dipika B.Avhad, Ms.Suvarna S.Burkul 1 Assistant Professor, Computer

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Multi-trace Concolic Execution Framework

Multi-trace Concolic Execution Framework Multi-trace Concolic Execution Framework Kyel Ok, Joonwon Choi, and Chanwoo Chung {kyelok, joonwonc, cwchung}@mit.edu 1 Introduction Concolic execution is a powerful tool to automatically detect bugs that

More information

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80

Verification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80 1 / 80 Verification Miaoqing Huang University of Arkansas Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice

More information

SEMINAR REPORT ON BAN LOGIC

SEMINAR REPORT ON BAN LOGIC SEMINAR REPORT ON BAN LOGIC Submitted by Name : Abhijeet Chatarjee Roll No.: 14IT60R11 SCHOOL OF INFORMATION TECHNOLOGY INDIAN INSTITUTE OF TECHNOLOGY, KHARAGPUR-721302 (INDIA) Abstract: Authentication

More information

15/16 CSY2041 Quality and User-Centred Systems

15/16 CSY2041 Quality and User-Centred Systems 15/16 CSY2041 Quality and User-Centred Systems INTERACTION DESIGN 1 Heuristic evaluation and walkthroughs 2 1 Aims: Describe the key concepts associated with inspection methods. Explain how to do heuristic

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

A Decision-Theoretic Rough Set Model

A Decision-Theoretic Rough Set Model A Decision-Theoretic Rough Set Model Yiyu Yao and Jingtao Yao Department of Computer Science University of Regina Regina, Saskatchewan, Canada S4S 0A2 {yyao,jtyao}@cs.uregina.ca Special Thanks to Professor

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Leslie Lamport: The Specification Language TLA +

Leslie Lamport: The Specification Language TLA + Leslie Lamport: The Specification Language TLA + This is an addendum to a chapter by Stephan Merz in the book Logics of Specification Languages by Dines Bjørner and Martin C. Henson (Springer, 2008). It

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

Learning to Match. Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li

Learning to Match. Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li Learning to Match Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li 1. Introduction The main tasks in many applications can be formalized as matching between heterogeneous objects, including search, recommendation,

More information

Managing Open Bug Repositories through Bug Report Prioritization Using SVMs

Managing Open Bug Repositories through Bug Report Prioritization Using SVMs Managing Open Bug Repositories through Bug Report Prioritization Using SVMs Jaweria Kanwal Quaid-i-Azam University, Islamabad kjaweria09@yahoo.com Onaiza Maqbool Quaid-i-Azam University, Islamabad onaiza@qau.edu.pk

More information

CS 512, Spring 2017: Take-Home End-of-Term Examination

CS 512, Spring 2017: Take-Home End-of-Term Examination CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

IPOG/IPOG-D: efficient test generation for multi-way combinatorial testing

IPOG/IPOG-D: efficient test generation for multi-way combinatorial testing SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2008; 18:125 148 Published online 29 November 2007 in Wiley InterScience (www.interscience.wiley.com)..381 IPOG/IPOG-D: efficient

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Stable Harmony. Nils Kurbis

Stable Harmony. Nils Kurbis Stable Harmony Nils Kurbis 1. Gentzen s Thesis and Two Notions of Harmony Gentzen observed that there is a remarkable systematic in the inference patterns for symbols of the calculus of natural deduction.

More information

Monitoring Interfaces for Faults

Monitoring Interfaces for Faults Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each

More information

Measures of Clustering Quality: A Working Set of Axioms for Clustering

Measures of Clustering Quality: A Working Set of Axioms for Clustering Measures of Clustering Quality: A Working Set of Axioms for Clustering Margareta Ackerman and Shai Ben-David School of Computer Science University of Waterloo, Canada Abstract Aiming towards the development

More information

Generating Tests for Detecting Faults in Feature Models

Generating Tests for Detecting Faults in Feature Models Generating Tests for Detecting Faults in Feature Models Paolo Arcaini 1, Angelo Gargantini 2, Paolo Vavassori 2 1 Charles University in Prague, Czech Republic 2 University of Bergamo, Italy Outline Feature

More information

Chapter 7. Conclusions and Future Work

Chapter 7. Conclusions and Future Work Chapter 7 Conclusions and Future Work In this dissertation, we have presented a new way of analyzing a basic building block in computer graphics rendering algorithms the computational interaction between

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: Black-Box Testing (advanced) Part 2 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee Black-Box Testing Techniques Equivalence class partitioning (ECP) Boundary

More information

Propositional Logic Formal Syntax and Semantics. Computability and Logic

Propositional Logic Formal Syntax and Semantics. Computability and Logic Propositional Logic Formal Syntax and Semantics Computability and Logic Syntax and Semantics Syntax: The study of how expressions are structured (think: grammar) Semantics: The study of the relationship

More information

Term Algebras with Length Function and Bounded Quantifier Elimination

Term Algebras with Length Function and Bounded Quantifier Elimination with Length Function and Bounded Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, September 3, 2004 TPHOLs 2004 - p 1/37 Motivation: Program Verification

More information

junit RV Adding Runtime Verification to junit

junit RV Adding Runtime Verification to junit junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,

More information

Embracing Imperfection in Enterprise Architecture Models

Embracing Imperfection in Enterprise Architecture Models Embracing Imperfection in Enterprise Architecture Models Hector Florez, Mario Sánchez, and Jorge Villalobos Department of Systems and Computing Engineering, Universidad de los Andes, Bogotá, Colombia {ha.florez39,mar-san1,jvillalo}@uniandes.edu.co

More information

Introduction to Software Testing

Introduction to Software Testing Introduction to Software Testing Software Testing This paper provides an introduction to software testing. It serves as a tutorial for developers who are new to formal testing of software, and as a reminder

More information

PTMD: Pairwise Testing Based on Module Dependency

PTMD: Pairwise Testing Based on Module Dependency Proceedings of the 6th WSEAS International Conference on Applied Computer Science, Tenerife, Canary Islands, Spain, December 16-18, 2006 341 PTMD: Pairwise Testing Based on Module Dependency Jangbok Kim

More information

Representing Symbolic Reasoning

Representing Symbolic Reasoning Representing Symbolic Reasoning Brian Mastenbrook and Eric Berkowitz 1400 N. Roosevelt Blvd. Schaumburg, IL 60173 chandler@acm.roosevelt.edu eric@cs.roosevelt.edu Abstract Introspection is a fundamental

More information

Utility Maximization

Utility Maximization Utility Maximization Mark Dean Lecture Notes for Spring 2015 Behavioral Economics - Brown University 1 Lecture 1 1.1 Introduction The first topic we are going to cover in the course isn t going to seem

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

demand point given tracks

demand point given tracks 2 Introduction Establishing stops (or stations) within a transportation network is fundamental for offering public transportation service, since stops are an important part of the PTN. But it is not clear

More information

Testing: Test design and testing process

Testing: Test design and testing process Testing: Test design and testing process Zoltán Micskei Based on István Majzik s slides Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement

More information

Model-based GUI testing using Uppaal at NOVO Nordisk

Model-based GUI testing using Uppaal at NOVO Nordisk Model-based GUI testing using Uppaal at NOVO Nordisk Ulrik H. Hjort 2, Jacob Illum 1, Kim G. Larsen 1, Michael A. Petersen 2, and Arne Skou 1 1 Department of Computer Science, Aalborg University, Denmark

More information

Overview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

X. A Relevance Feedback System Based on Document Transformations. S. R. Friedman, J. A. Maceyak, and S. F. Weiss

X. A Relevance Feedback System Based on Document Transformations. S. R. Friedman, J. A. Maceyak, and S. F. Weiss X-l X. A Relevance Feedback System Based on Document Transformations S. R. Friedman, J. A. Maceyak, and S. F. Weiss Abstract An information retrieval system using relevance feedback to modify the document

More information

Reading assignment: Reviews and Inspections

Reading assignment: Reviews and Inspections Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Horn Formulae. CS124 Course Notes 8 Spring 2018

Horn Formulae. CS124 Course Notes 8 Spring 2018 CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it

More information

Model-Solver Integration in Decision Support Systems: A Web Services Approach

Model-Solver Integration in Decision Support Systems: A Web Services Approach Model-Solver Integration in Decision Support Systems: A Web Services Approach Keun-Woo Lee a, *, Soon-Young Huh a a Graduate School of Management, Korea Advanced Institute of Science and Technology 207-43

More information

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models Reading assignment: Reviews and Inspections Foundations for SE Analysis M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 999, pp. 258-28.

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

Software Quality Assurance & Testing

Software Quality Assurance & Testing Software Quality Assurance & Testing 1.Software Testing - An ISTQB-BCS Certified Tester Foundation Guide 3rd edition, 2015 Brian Hambling, Peter Morgan, Geoff Thompson, Peter Williams,Angelina Samaroo

More information

PROJECT PERIODIC REPORT

PROJECT PERIODIC REPORT PROJECT PERIODIC REPORT Grant Agreement number: 257403 Project acronym: CUBIST Project title: Combining and Uniting Business Intelligence and Semantic Technologies Funding Scheme: STREP Date of latest

More information

IN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING

IN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING IN-SIU CALIBRAION OF A REDUNDAN MEASUREMEN SYSEM FOR MANIPULAOR POSIIONING Piotr J. Meyer Philips Center for Industrial echnology (CF, Lynnfield, MA, U.S.A. Prof. Dr. Jan van Eijk Philips Center for Industrial

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

Improving Range Query Performance on Historic Web Page Data

Improving Range Query Performance on Historic Web Page Data Improving Range Query Performance on Historic Web Page Data Geng LI Lab of Computer Networks and Distributed Systems, Peking University Beijing, China ligeng@net.pku.edu.cn Bo Peng Lab of Computer Networks

More information

Disjoint directed cycles

Disjoint directed cycles Disjoint directed cycles Noga Alon Abstract It is shown that there exists a positive ɛ so that for any integer k, every directed graph with minimum outdegree at least k contains at least ɛk vertex disjoint

More information

Statistical Testing of Software Based on a Usage Model

Statistical Testing of Software Based on a Usage Model SOFTWARE PRACTICE AND EXPERIENCE, VOL. 25(1), 97 108 (JANUARY 1995) Statistical Testing of Software Based on a Usage Model gwendolyn h. walton, j. h. poore and carmen j. trammell Department of Computer

More information

A Rough Set Approach for Generation and Validation of Rules for Missing Attribute Values of a Data Set

A Rough Set Approach for Generation and Validation of Rules for Missing Attribute Values of a Data Set A Rough Set Approach for Generation and Validation of Rules for Missing Attribute Values of a Data Set Renu Vashist School of Computer Science and Engineering Shri Mata Vaishno Devi University, Katra,

More information

CS 577A Team 1 DCR ARB. PicShare

CS 577A Team 1 DCR ARB. PicShare CS 577A Team 1 DCR ARB PicShare Team and Project Review (DEN) Project Evaluation Positives Resilient Agile detailed design promotes thoroughness before any code is written Development time should be reduced

More information

A Model of Machine Learning Based on User Preference of Attributes

A Model of Machine Learning Based on User Preference of Attributes 1 A Model of Machine Learning Based on User Preference of Attributes Yiyu Yao 1, Yan Zhao 1, Jue Wang 2 and Suqing Han 2 1 Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada

More information

Test designs for evaluating the effectiveness of mail packs Received: 30th November, 2001

Test designs for evaluating the effectiveness of mail packs Received: 30th November, 2001 Test designs for evaluating the effectiveness of mail packs Received: 30th November, 2001 Leonard Paas previously worked as a senior consultant at the Database Marketing Centre of Postbank. He worked on

More information