Stefan WapplerTechnical University of Berlin (DCAITI) André Baresel QVI Tech GmbH Joachim Wegener Berner & Mattner Systemtechnik GmbH Improving Evolutionary.

Slides:



Advertisements
Similar presentations
Topic Reviews For Unit ET156 – Introduction to C Programming Topic Reviews For Unit
Advertisements

Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
AP Computer Science Anthony Keen. Computer 101 What happens when you turn a computer on? –BIOS tries to start a system loader –A system loader tries to.
Black Box Testing Sources: Code Complete, 2 nd Ed., Steve McConnell Software Engineering, 5 th Ed., Roger Pressman Testing Computer Software, 2 nd Ed.,
Stacks, Queues, and Linked Lists
Senem Kumova Metin Spring2009 STACKS AND QUEUES Chapter 10 in A Book on C.
Chapter 16 Exception Handling. What is Exception Handling? A method of handling errors that informs the user of the problem and prevents the program from.
Delta Debugging and Model Checkers for fault localization
1 Symbolic Execution for Model Checking and Testing Corina Păsăreanu (Kestrel) Joint work with Sarfraz Khurshid (MIT) and Willem Visser (RIACS)
1/20 Generalized Symbolic Execution for Model Checking and Testing Charngki PSWLAB Generalized Symbolic Execution for Model Checking and Testing.
Lecture # 21 Chapter 6 Uptill 6.4. Type System A type system is a collection of rules for assigning type expressions to the various parts of the program.
Computer Science Automated Test Data Generation for Aspect-Oriented Programs Mark Harman (King’s College London, UK) Fayezin Islam (T-Zero Processing Services,
ADT Stacks and Queues. Stack: Logical Level “An ordered group of homogeneous items or elements in which items are added and removed from only one end.”
Feedback-Directed Random Test Generation Automatic Testing & Validation CSI5118 By Wan Bo.
Stacks. What is a stack? Last-in first-out data structure (LIFO) New objects are placed on top Removal restricted to top object Examples?
1 Evolutionary Testing Metaheuristic search techniques applied to test problems Stella Levin Advanced Software Tools Seminar Tel-Aviv University
1 CSCD 326 Data Structures I Stacks. 2 Data Type Stack Most basic property: last item in (most recently inserted) is first item out LIFO - last in first.
Lecture 11. Today’s topic Conditional statement –Relational operators –if statement –if-else statement –If-elseif statement.
Slides prepared by Rose Williams, Binghamton University Chapter 6 Arrays.
Polymorphism. Lecture Objectives To understand the concept of polymorphism To understand the concept of static or early binding To understand the concept.
Iterator COMP 401, Spring 2013 Lecture 07 1/31/2013.
How Significant Is the Effect of Faults Interaction on Coverage Based Fault Localizations? Xiaozhen Xue Advanced Empirical Software Testing Group Department.
Lecture 2 Object Oriented Programming Basics of Java Language MBY.
CSC 212 Stacks & Queues. Announcement Many programs not compiled before submission  Several could not be compiled  Several others not tested with javadoc.
Arrays Chapter 8. What if we need to store test scores for all students in our class. We could store each test score as a unique variable: int score1.
AUSTIN: A TOOL FOR SEARCH BASED SOFTWARE TESTING And its Evaluation on Deployed Automotive Systems Kiran Lakhotia, Mark Harman and Hamilton Gross in.
1 Data-state Diversity for Test Data Search Mohammad Alshraideh and Leonardo Bottaci Department of Computer Science University of Hull, Hull, UK.
ECE122 Feb. 22, Any question on Vehicle sample code?
QuadraticEquation class. Background A quadratic equation is a second-order polynomial equation in a single variable x, ax 2 + bx + c = 0 (with a≠0.)
First delivery of the course Software Quality and Testing Katerina Zdravkova, Anastas Mišev
Programming with Assertions © Allan C. Milne v
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
C++ The reason why it is still in use. Table of Contents Disadvantages Disadvantages Advantages Advantages Compare with object-oriented programming language.
CS 139-Programming Fundamentals Lecture 11B - Arrays Adapted from a presentation by Dr. Rahman Fall 2014.
Protocols Software Engineering II Wirfs Brock et al, Designing Object-Oriented Software, Prentice Hall, Mitchell, R., and McKim, Design by Contract,
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
U n i v e r s i t y o f H a i l 1 ICS 202  2011 spring  Data Structures and Algorithms 
CONDITIONALS. Boolean values Boolean value is either true or false It is name after the British mathemetician, George Boole who first formulated Boolean.
CS212: Object Oriented Analysis and Design Lecture 19: Exception Handling.
Tail Recursion l The case in which a function contains only a single recursive call and it is the last statement to be executed in the function. l Tail.
Objects First With Java A Practical Introduction Using BlueJ Casting Week
Unit Testing Part 2: Drivers and Stubs
Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution Kobi Inkumsah Tao Xie Dept. of Computer.
A: A: double “4” A: “34” 4.
Chapter 5 : Methods Part 2. Returning a Value from a Method  Data can be passed into a method by way of the parameter variables. Data may also be returned.
( = “unknown yet”) Our novel symbolic execution framework: - extends model checking to programs that have complex inputs with unbounded (very large) data.
Java Programming Persistent Data Types. Persistent Data Structure A persistent data structure is a data structure having an internal state that never.
Slide 1 Good Methods. Slide 2 Cohesion and Coupling l For structured design These software metrics were used extensively Proven to be effective l For.
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
Symbolic Execution in Software Engineering By Xusheng Xiao Xi Ge Dayoung Lee Towards Partial fulfillment for Course 707.
Sections 3.4 Formal Specification
Paul Ammann & Jeff Offutt
5/9/2018 Advanced Unit Testing David Rabinowitz.
Agenda Warmup Finish 2.4 Assignments
C Basics.
COMPUTER 2430 Object Oriented Programming and Data Structures I
Eclat: Automatic Generation and Classification of Test Inputs
Introduction to Computer Programming
Review Operation Bingo
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
null, true, and false are also reserved.
Stack Memory 2 (also called Call Stack)
دانشگاه شهیدرجایی تهران
searching Concept: Linear search Binary search
تعهدات مشتری در کنوانسیون بیع بین المللی
Stacks with Dynamic Memory
When a function is called...
Stacks.
Revision I This presentation gives you some hints for solution of selected problems.
Presentation transcript:

Stefan WapplerTechnical University of Berlin (DCAITI) André Baresel QVI Tech GmbH Joachim Wegener Berner & Mattner Systemtechnik GmbH Improving Evolutionary Testing in the Presence of Function-Assigned Flags formerly: DaimlerChrysler

Automotive IT Institute 2 Agenda - Evolutionary Structural Testing - Function-Assigned Flags - How Related Approaches Perform - Our Approach - Experimental Results

Automotive IT Institute 3 Background Automatic Generation of Structure-Oriented Unit Tests  Achieve High Code Coverage  Evolutionary Structural Testing Procedural Software ETS (Evolutionary Testing System) Object-Oriented Software EvoUnit (Evolutionary Unit Tester) D AIMLER C HRYSLER

Automotive IT Institute 4 Evolutionary Structural Testing if( 100 == -1 ) d = |100+1|= = 1.3 if( 0 == -1 ) d = |0+1|= = = 2.05 if( -10 < 0 ) d = |0+10|=10

Automotive IT Institute 5 Evolutionary Structural Testing

Automotive IT Institute 6 The Flag Problem – Function-Assigned Flags if( a == -1 ) d = |a+1| a d if( isNull(b) ) d = |1-isNull(b)| b d

Automotive IT Institute 7 How Related Approaches Perform int func(int c) { int flag = 0; if( c == 0 ) flag = 1; if( flag ) // test goal } int func(int c) { int flag; flag = isZero(c); if( flag ) // test goal } void add(IStack s, Object e) { if( s.isFull() ) // test goal else s.add( e ); } Bottaci Harman et al. Baresel & Sthamer Liu et al. McMinn & Holcombe Bottaci Harman et al. Baresel & Sthamer Liu et al. McMinn & Holcombe Bottaci Harman et al. Baresel & Sthamer Liu et al. McMinn & Holcombe

Automotive IT Institute 8 Our Approach class Stack { Object[] elems = new Object[10]; int freeIdx = 0; boolean isFull() { if( freeIdx < elems.length ) return false; else return true; } void push(Object elem) { if( isFull() ) throw new Error(); else elems[freeIdx++] = elem; } } double > 0 ) d = max(-isFull()+k,0) isFull() d -distance( freeIdx, `>=‘, elems.length ); distance( freeIdx, `<‘, elems.length );

Automotive IT Institute 9 Our Approach class Stack { Object[] elems = new Object[10]; int freeIdx = 0; double isFull() { if( freeIdx < elems.length ) return –distance(freeIdx, `>=‘, elems.length); else return distance(freeIdx, `<‘, elems.length); } boolean push(Object elem) { if( isFull() > 0 ) return false; else { elems[freeIdx++] = elem; return true; } } } -distance( isFull(), `<=‘, 0); distance( isFull(), `>‘, 0); } double

Automotive IT Institute 10 Experiment

Automotive IT Institute 11 Conclusion Strengths - Addresses Function-Assigned Flags - Applicable to both Procedural ET and Object-Oriented ET - Addresses Dynamic Binding (``dynamic analysis‘‘) - Automatable Code Transformation Weaknesses/Limitations - Very small Distance Values can occur - Application to Particular Types of Function-Assigned Flags investigated Future Work - Investigation into other Types of Function-Assigned Flags (Loop-Assigned Flags, Sequential Flag Assignments, …)

Automotive IT Institute 12 Discussion Thank you for your attention!