Heuristic Approaches for Equivalent Mutant Problem Inderjot 1 Dr. Rakesh Kumar 2
|
|
- Merryl Warren
- 6 years ago
- Views:
Transcription
1 IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 02, 2015 ISSN (online): Heuristic Approaches for Problem Inderjot 1 Dr. Rakesh Kumar 2 1 Research Scholar 2 Professor 1,2 Department of Computer Science & Application Engineering 1,2 Kurukshetra University, Kurukshetra Abstract Mutation testing works on seeding faults into the program using s. These faulty programs are known as mutants. Test suites are applied on these mutants to recognize if they are killed or not. Test suite that kill mutants are said to be adequate. Sometimes, it is difficult to kill all the mutants because of equivalent mutants. Equivalent mutants are the mutants syntactically different and semantically similar to the original program. In this paper some heuristics have been proposed to avoid equivalent mutant problems. Key words: s, Mutants, Mutation Operators, Mutation Testing, Test Suite I. INTRODUCTION Mutation testing is a fault based testing approach. Mutation testing is a method of white box testing. Mutation testing was invented by Richard Lipton in 1971[1]. Mutation testing refers to seeding slight change into source code [2]. Each faulted version of source code is known as Mutants. Mutants are of two types [3]- 1) First order mutants- mutants that are generated by seeding a single fault in the original program. 2) Higher order mutants- mutants that are generated by seeding more than one fault in the original program. Mutation testing uses two principles- 1) Competent programmer hypothesis- It states that mutants are created by seeding faults in the program. The faults should be like as committed by competent programmers [4]. 2) Coupling effect hypothesis- It states that simple faults (first order mutants) are coupled to form complex faults (higher order mutants). Test suite which can able to detect the simple fault can also detect the complex fault [4]. Mutation testing provides a test adequacy criterion. To evaluate the quality of test-suite, test-suite is executed over the mutants. Output of original program is compared against mutant. If compared outputs are different then mutant is said to be killed by the test suite. If a mutant is not killed by any test suite that type of mutants are said to be equivalent mutants. A test suite must satisfy three conditions (RIP model) [1] to kill mutants- 1) Reachability- mutated statement must be executed by the test suite. 2) State Infection- mutated statement must have different state than original. 3) State Propagation- mutant must have different final state from the original program. Mutation adequacy score is used to measure the effectiveness of test suite in terms of its ability to detect faults. Mutation adequacy score is calculated by [5]- Mutation adequacy score= D/M-E Where, D- no. of killed mutants, M- Total no. of mutants, E- no. of Equivalent mutants Mutation adequacy score results between real values of 0.0 and 1.0. High adequacy score represents adequate test suite. Calculating exact score is difficult due to the presence of equivalent mutants. II. LITERATURE REVIEW Problem is the major obstacle of testing. The problem of determining whether a mutant is equivalent to the original program is theoretically un-decidable. Equivalent mutants are the mutants syntactically different and semantically similar to the original program. A program M is derived from program P by slight change. If P and M both produce same result on every test-suite then M is said to be equivalent mutant of P. For exampleint max(int[]a); int b,i; b=0; n=a.length; for(i=0;i<n;i++) If(a[i]>a[b]) b=i; return a[b]; int max(int[]a); int b,i; b=0; n=a.length; for(i=0;i<n;i++) If(a[i]>=a[b]) b=i; return a[b]; Mutant To overcome equivalent mutant problem there are 17 relevant techniques divided into three categories [6]- A. Detecting Techniques: 1) Compiler optimization techniques [7]. 2) Mathematical constraints to automatically detect equivalent mutants [8],[9]. 3) Program slicing to assist in the detection of equivalent mutants [10]. 4) Semantic differences in terms of running profile to detect non-equivalent mutants [11]. 5) Margrave s change impact analysis [12]. 6) Lesar model-checker for eliminating equivalent mutants [13]. B. Avoiding Techniques: 1) Selective [14]. 2) Avoiding equivalent mutant generation using program dependence analysis [15]. 3) Co-evolutionary search techniques [16]. 4) Equivalency conditions to eliminate equivalent mutants for object-oriented s [17]. 5) Fault hierarchy to improve the efficiency of DNF logic testing [18]. 6) Distinguishing the equivalent mutants by semantic exception hierarchy [19]. 7) Higher testing [20]. All rights reserved by 345
2 Heuristic Approaches for Problem C. Suggesting Techniques: 1) Using Bayesian-learning based guidelines to help to determine equivalent mutants [21]. 2) Examining the impact of equivalent mutants on coverage [22]. 3) Using the impact of dynamic invariants [23]. 4) Examining changes in coverage to distinguish equivalent mutants [24]. Recently researchers focused on avoiding and suggesting techniques. Detecting techniques are hard to implement. Detecting techniques never results erroneous like avoiding and suggesting techniques. III. HEURISTICS FOR AVOIDING EQUIVALENT MUTANTS As discussed, while mutants are generated, there are chances that equivalent mutants may be created. To detect the equivalent mutant is an un-decidable problem. The better option can be, don t create equivalent mutant. In the following text a number of heuristics have been proposed to avoid the creation of equivalent mutants. TableI. [25] shows list of mutant s in Operator-class. Operator Description Operator Description OAAA OABA OAEA OARN OASN OBAN OBBA OBLN OBRN OCNG by by by by shift by by logical by context OAAN OABN OALN OASA OBAA OBBN OBEA OBNG OBSA OEAA by bitwise by logical by shift by by by shift Plain by OEBA Plain OESA Plain OLAN OLLN OLRN ORAN ORLN ORSN OSAN OSBN OSLN OSSN by bitwise by by by by logical by shift by by bitwise by logical OLBN OLNG OLSN ORBN ORRN OSAA OSBA OSEA OSRN OSSA by shift by bitwise by shift by bitwise by by bitwise by by Table 1: List of Operator-Class Operators Using some of the above s, equivalent mutants are generated. Equivalent mutants are produced at certain conditions. Warnings are produced to avoid the generation of equivalent mutants. Some of them are as follows- A. OAAA- Assignment Mutation (A+=B A- =B). %d, if (b==0) if(b==0) a-=b; Be careful if the value of operands is zero. During generation of mutants using OAAA value of operands must greater than zero. All rights reserved by 346
3 Heuristic Approaches for Problem B. OAAN- Operator Mutation (A*B A+B). %d, if(a==2&&b==2) c=a*b; if(a==2&&b==2) c=a+b; Be careful if the values of operands are 0 and 2. During generation of mutants using OAAN, value of operands must greater than 0 and not equal to 2. C. OAEA- Assignment by Plain Assignment (A+=B A=B). %d, a=b; Be careful if the value of operands is 0. During generation of mutants using OAEA, value of operands must greater than zero. D. OBAN- Operator by Operator (A&B A*B). // if input of a and b is 0 or 1 if (a==b) c=a&b; // if input of a and b in 0 or 1 if (a==b) c=a*b; %d, Be careful if the value of operands is same. During generation of mutants using OBAN, value of operands must be different. E. OBBN- Operator Mutation (A&B A B). For Example- %d, if(a==b) c=a&b; %d, if(a==b) c=a b; Be careful on replacing bitwise OR by bitwise AND, operands must have different values. F. OBLN- Operator by Operator (A B A B). char sub; int marks; %c, &marks,&sub,); if((marks>80) (sub= P & &marks>70) (sub= C & & marks>80 )) printf( student will choose medical/nonmedical ); printf( student will choose commerce ); char sub; int marks; %c, &marks,&sub,); if((marks>80) (sub= P & &marks>70) (sub= C && marks>80 )) printf( student will choose medical/non-medical ); printf( student will choose commerce ); Be careful if value of operands uses values as true or false using bitwise OR. If bitwise OR replaced with logical OR using true or false values then they will produce same output. G. OBNG- Negation (~X Op Y ~ (X Op Y)). For Example- c=(~a^b); c=~(a^b); Be careful on using bitwise complement with bitwise XOR. H. OBRN- Operator By Operator (A^B A!=B). int b,c;,%d,&b,&c) if(b^c); printf( b& c not printf( b&c are int b,c;,%d,&b,&c) if(b!=c); printf( b& c not printf( b&c are Be careful if bitwise XOR replaced with!= then equivalent mutant generated. I. OEAA- Plain by (a=b a+=b). For example- &a,&b) if (a==0) a=b; &a,&b) if (a==0) EquivalentMutant Be careful on using OEAA if value of the operand is zero. All rights reserved by 347
4 Heuristic Approaches for Problem J. OLBN- Operator by Operator (A&&B A&B). %d %d,a,b,c); if((a>b)&&(a>c)) printf( a is greater ); if((a<b)&&(c<b)) printf( b is greater ); if((a<c)&&(b<c)) printf( c is greater ); printf( two of them are %d %d,a,b,c); if((a>b)&(a>c)) printf( a is greater ); if((a<b)&&(c<b)) printf( b is greater ); if((a<c)&&(b<c)) printf( c is greater ); printf( two of them are Equivalent mutant Be careful during the replacement of bitwise AND by logical AND if conditions results true or false. K. OLLN- Operator Mutation (A&&B A B). int x,y,z; %d %d, x,y,z); if((x>y)&&(x>z) (!(x==0)) ) printf( %d, x); printf( %d,y); int x,y,z; %d %d, x,y,z); if((x>y) (x>z) (!(x==0)) ) printf( %d, x); printf( %d,y); EquivalentMutant Be careful when single OR in a conditional statement makes the whole result of conditional statement true if any condition in it is true, regardless of AND L. OLRN- Operator by Operator (A&& A<B). &b,&c); a=b-c; if(!a) printf( b &c are &b,&c); a=b-c; printf( b &c are printf( b&c not printf( b&c not Be careful when a! logical is used with which makes condition equal to zero. M. ORRN- Operator Mutation (A<B A<=B). %d, if(a>b) c=a; c=b; if(a>=b) c=a; c=b; Be careful on using ORRN mutant for finding largest of two > should not replace by >=. N. ORBN- Operator by Operator (!= ). int a,b,c,d; d=b-a; if(c!=d) d=b-a; if(c d) printf( a and b are not printf( a and b are not printf( a and b are printf( a and b are Be careful on using ORBN, if!= and bitwise OR used on result of subtraction of two no. produce same result on same input. O. ORLN- Operator by Operator (==!). if(c==0) printf( a and b are if(!c) printf( a and b are printf( a and b not printf( a and b not EquivalentMutant Be careful on replacing with logical, (==) condition of results zero should not replace by!. IV. CONCLUSION In this paper, some of the heuristics are described using manual analysis to various s in C language. Mutation testing is a technique to assess the adequacy of test suite. There are various problems faced by testing- large no. of mutants and equivalent mutants. The problem of equivalent mutants for higher order mutants is not serious due to the coupling effect. Therefore, first order mutants are created using various replacements. On certain conditions these mutants act as equivalent mutants. Avoiding these conditions in creation of mutants, equivalent mutants can be avoided. Detection of equivalent mutants is still np-hard problem. As evident, testing is most effort consuming phase in software development. If by using some heuristics, one can avoid some equivalent mutants, it will result into a lot of effort and cost reduction. REFERENCES [1] Offutt Jefferson A., Roland and Untch H. (2000), Mutation: Uniting the Orthogonal. [2] Demillo A. Richard, Lipton J. Richard and Sayward G. Fred (1978), Hints on test data selection: Help for the practicing programmer, IEEE Computer, 11(4),p All rights reserved by 348
5 Heuristic Approaches for Problem [3] Mathur P. Aditya (2008), Foundation of Software Testing, Pearson Education, 2/e, ISBN: [4] Mathur P. and Wong E.W.(1995), Reducing the cost of Mutation Testing: An Emperical Study, The Journal of Systems and Software,31(3). [5] Hamlet R. (1997), Testing Programs with the Aid of a Compiler, IEEE Trans. Software Eng.,SE-3(4) p [6] Madeyski L., Orzeszyna W., Torkar R., Józala M. (2014), Overcoming the Problem: A Systematic Literature Review and a Comparative Experiment of Second Order Mutation,IEEE Transactions on Software Engineering,40(1). [7] Offutt Jefferson A. and Craft W.M.(1994), Using Compiler Optimization Techniques to Detect s,software Testing, Verification and Reliability, 4(3), p [8] Offutt Jefferson A. and Pan J.(1996), Detecting s and the Feasible Path Problem, Proc. 11th Ann. Conf. Systems Integrity, Computer Assurance, Process Security, Software Safety (COMPASS 96), p [9] Offutt Jefferson A. and Pan J.(1997) Automatically Detecting s and Infeasible Paths,Software Testing, Verification and Reliability,7(3) p [10] Hierons R., Harman M., and Danicic S.(1999), Using Program Slicing to Assist in the Detection of s, Software Testing, Verification and Reliability, 9(4), p [11] Ellims M., Ince D., and Petre M. (2007), The Csaw C Mutation Tool: Initial Results, Proc. Testing: Academic and Industrial Conf. Practice and Research Techniques MUTATION, p [12] Martin E. and Xie T.(2007), A Fault Model and Mutation Testing of Access Control Policies, Proc. 16th Int l Conf. World Wide Web (WWW 07), p [13] Bousquet du L. and Delaunay M. (2008), Towards Mutation Analysis for Lustre Programs, Electronic Notes in Theoretical Computer Science, 203(4), p [14] Mresa S.E. and Bottaci L.(1999), Efficiency of Mutation Operators and Selective Mutation Strategies: An Empirical Study, Software Testing, Verification and Reliability, 9(4), p [15] Harman M., Hierons R., and Danicic S.(2001), The Relationship between Program Dependence and Mutation Analysis,Mutation Testing for the New Century, p [16] Adamopoulos K., Harman M., and Hierons M.R.(2004), How to Overcome the Equivalent Mutant Problem and Achieve Tailored Selective Mutation Using Co-Evolution, Proc. Genetic and Evolutionary Computation Conf. (GECCO 04), p [17] Offutt J., Ma S Y., and Kwon R Y. (2006), The Class-Level Mutants of MuJava, Proc. Int l Workshop Automation of Software Test (AST 06), p [18] Kaminski G. and Ammann P.(2009), Using a Fault Hierarchy to Improve the Efficiency of DNF Logic Mutation Testing, Proc. Int l Conf. Software Testing Verification andvalidation (ICST 09), p [19] Ji C., Chen Z., Xu B., and Wang Z. (2009), A New Mutation Analysis Method for Testing Java Exception Handling, Proc. IEEE 33rd Ann. Int l Computer Software and Applications Conf. (COMPSAC 09), 2, p [20] Jia Y.and Harman M.(2009), Higher Order Mutation Testing, Information and Software Technology, 51, p [21] Vincenzi M.R.A.,Nakagawa Y.E.,Maldonado J.C.,Delamaro M.E., and Romero A.F.R.(2002), Bayesian-Learning Based Guidelines to Determine s, Int l J. Software Eng. and Knowledge Eng., 12(6), p [22] Grun J.M.B., Schuler D., and Zeller A.(2009), The Impact of s, Proc. IEEE Int l Conf. Software Testing, Verification, and Validation Workshops, p [23] Schuler D., Dallmeier V., and Zeller A. (2009), Efficient Mutation Testing by Checking Invariant Violations, Proc. 18th Int l Symp. Software Testing and Analysis (ISSTA 09), p [24] Schuler D. and Zeller A.(2010), Covering and Uncovering s, Software Testing, Verification and Reliability, 23, p [25] Offutt Jefferson A., Lee Ammei, Rothermel Gregg,Untch H. Roland, and Zapf Christian(1996) An experimental determination of sufficient mutant s. Acm Trans. Softw. Eng. Methodol. 5(2),p All rights reserved by 349
ON SOFTWARE TESTING AND SUBSUMING MUTANTS An empirical study. Master Degree Project in Computer Science Advanced level 15 credits Spring term 2014
ON SOFTWARE TESTING AND SUBSUMING MUTANTS An empirical study Master Degree Project in Computer Science Advanced level 15 credits Spring term 2014 András Márki Supervisor: Birgitta Lindström Examiner: Gunnar
More informationWhat is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation
What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a
More informationTEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING
TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING Shalini Kapoor CSE Deptt, GNI, Mullana get_shalini@rediffmail.com Abstract--- Effectiveness means how good a test case is in finding faults. Traditional
More informationExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis
ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis Technical Report 2006-519 Jeremy S. Bradbury, James R. Cordy, Juergen Dingel School of Computing, Queen s University Kingston,
More informationNequivack: Assessing mutation score confidence
Nequivack: Assessing mutation score confidence Dominik Holling, Sebastian Banescu, Marco Probst, Ana Petrovska, Alexander Pretschner Technische Universität München Garching bei München, Germany {holling,
More informationExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis 1
ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis 1 Jeremy S. Bradbury, James R. Cordy, Juergen Dingel School of Computing, Queen s University Kingston, Ontario, Canada {bradbury,
More informationInternational Journal of Advanced Research in Computer Science and Software Engineering
Volume 3, Issue 4, April 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Testing Techniques
More informationAn analysis of Mutation testing and Code coverage during progress of projects
An analysis of Mutation testing and Code coverage during progress of projects Oskar Alfsson Oskar Alfsson Spring 2017 Bachelor s thesis, 15 Credits Supervisor: Pedher Johansson External supervisor: Björn
More informationA New Mutation Analysis Method for Testing Java Exception Handling
A New Mutation Analysis Method for Testing Java Exception Handling Authors Affiliations Emails Abstract Java exception mechanism can effectively free a program from abnormal exits and help developers locate
More informationIntroduction to Software Testing Chapter 5.1 Syntax-based Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/ softwaretest/ Ch. 5 : Syntax Coverage Four Structures for Modeling Software Graphs
More informationMutant Execution Cost Reduction
2012 IEEE Fifth International Conference on Software Testing, Verification and Validation Mutant Execution Cost Reduction Through MUSIC (MUtant Schema Improved with extra Code) Pedro Reales Mateo and Macario
More informationClass-Component Testability Analysis
Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,
More informationFinding Sufficient Mutation Operators via Variable Reduction
Finding Sufficient Mutation Operators via Variable Reduction Akbar Siami Namin and James H. Andrews Department of Computer Science University of Western Ontario London, Ontario, CANADA N6A 5B7 Email: {asiamina,andrews}
More informationA Survey on Different Approaches for Efficient Mutation Testing
International Journal of Scientific and Research Publications, Volume 3, Issue 4, April 2013 1 A Survey on Different Approaches for Efficient Mutation Testing MeghaJhamb *, AbhishekSinghal *, AbhayBansal
More informationAN EVALUATION OF MUTATION OPERATORS FOR EQUIVALENT MUTANTS. Maryam Umar
AN EVALUATION OF MUTATION OPERATORS FOR EQUIVALENT MUTANTS By Maryam Umar Supervised By Mark Harman A project submitted to the Department of Computer Science. King s College, London. In partial fulfilment
More informationMutation at System and Functional Levels
Mutation at System and Functional Levels Pedro Reales Mateo, Macario Polo Usaola Dept. Tecnologías y sistemas de la información University of Castilla-La Mancha Ciudad Real, Spain pedro.reales, macario.polo}@uclm.es
More informationGenerating minimal fault detecting test suites for Boolean expressions
Generating minimal fault detecting test suites for Boolean expressions Gordon Fraser Software Engineering Chair Saarland University, Saarbrücken, Germany E-mail: fraser@cs.uni-saarland.de Angelo Gargantini
More informationUsing Non-Redundant Mutation Operators and Test Suite Prioritization to Achieve Efficient and Scalable Mutation Analysis
Using Non-Redundant Mutation Operators and Test Suite Prioritization to Achieve Efficient and Scalable Mutation Analysis René Just Dept. of Computer Science and Engineering University of Washington rjust@cs.washington.edu
More informationWhite Box Testing III
White Box Testing III Outline Today we continue our look at white box testing methods, with mutation testing We will look at : definition and role of mutation testing what is a mutation? how is mutation
More informationISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116
IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AUTOMATIC TEST CASE GENERATION FOR PERFORMANCE ENHANCEMENT OF SOFTWARE THROUGH GENETIC ALGORITHM AND RANDOM TESTING Bright Keswani,
More informationPart I: Preliminaries 24
Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 04: White-Box Testing (advanced) Part1 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee White-Box Testing Techniques Control-Flow Testing Data-Flow Testing Mutation
More informationOperator Based Efficient Mutant Generation Methods for Procedural and Object-Oriented Languages
ISSN : 2229-4333(Print) ISSN : 0976-8491(Online) Operator Based Efficient Mutant Generation Methods for Procedural and Object-Oriented Languages 1 Ajay Jangra, 2 Jasleen Kaur 1,2 CSE Department U.I.E.T.
More informationApplication Testability for Fault Detection Using Dependency Structure Algorithm
Application Testability for Fault Detection Using Dependency Structure Algorithm 1 Shah Ubaid Nisar, 2 T. S. Shiny. Angel 1 M.Tech Student, 2 Assistant Professor (O.G) Department of Software Engineering,
More informationA Comparative Study on Mutation Analysis for Java Applications
1 UTM Computing Proceedings Innovation in Computing Technology and Applications Volume: 2 Year: 2017 ISBN: 978-967-0194-95-0 A Comparative Study on Mutation Analysis for Java Applications Nur Zatilzaida
More informationObject Oriented Mutation Applied in Java Application programming Interface and C++ Classes
Object Oriented Mutation Applied in Java Application programming Interface and C++ Classes Titu Singh Arora 1, Ravindra Gupta 2 M.Tech Scholar, Department of Computer Science, SSSIST Sehore, India 1 Professor
More informationProgram-based Mutation Testing
Program-based Mutation Testing CS 4501 / 6501 Software Testing [Ammann and Offutt, Introduction to Software Testing, Ch. 9.2] 1 Applying Syntax-Based Testing to Programs Test requirements are derived from
More informationAn Analysis of OO Mutation Operators
An Analysis of OO Mutation Operators Jingyu Hu, Nan Li and Jeff Offutt Software Engineering George Mason University, Fairfax VA, USA janetjyhu@gmail.com, nli1@gmu.edu, offutt@gmu.edu Abstract This paper
More informationSMT-C: A Semantic Mutation Testing Tool for C
2012 IEEE Fifth International Conference on Software Testing, Verification and Validation SMT-C: A Semantic Mutation Testing Tool for C Haitao Dan and Robert M. Hierons School of Information Systems, Computing
More informationOn Guiding the Augmentation of an Automated Test Suite via Mutation Analysis
On Guiding the Augmentation of an Automated Test Suite via Mutation Analysis Abstract Mutation testing has traditionally been used as a defect injection technique to assess the effectiveness of a test
More informationCMPSCI 521/621 Homework 2 Solutions
CMPSCI 521/621 Homework 2 Solutions Problem 1 Direct data dependencies: 3 is directly data dependent on 1 and 5 5 is directly data dependent on 1,3, and 5 7 is directly data dependent on 1,3, and 5 Note,
More informationComparative Assessment of Testing and Model Checking Using Program Mutation
Comparative Assessment of Testing and Using Mutation Research Talk Jeremy S. Bradbury, James R. Cordy, Juergen Dingel School of Computing! Queen s University Kingston! Ontario! Canada {bradbury, cordy,
More informationFault-based testing. Automated testing and verification. J.P. Galeotti - Alessandra Gorla. slides by Gordon Fraser. Thursday, January 17, 13
Fault-based testing Automated testing and verification J.P. Galeotti - Alessandra Gorla slides by Gordon Fraser How good are my tests? How good are my tests? Path testing Boundary interior testing LCSAJ
More informationAdvanced Topics Combining S. M. T
Advanced Topics Combining S. M. T 1 an empirical study of predicate dependence levels and trends Icse 2003 david binkley mark harman Or How to use slicing to measure testability 2 overview evolutionary
More informationStructural Testing & Mutation
Structural Testing & Mutation Filippo Ricca DISI, Università di Genova, Italy ricca@disi.unige.it 1 White vs. Black box testing A white box testing is based upon explicit knowledge of the SUT and its structure
More informationOn Guiding the Augmentation of an Automated Test Suite via Mutation Analysis
On Guiding the Augmentation of an Automated Test Suite via Mutation Analysis Abstract Mutation testing has traditionally been used as a defect injection technique to assess the effectiveness of a test
More informationAn Experimental Comparison of Four Unit Test Criteria: Mutation, Edge-Pair, All-uses and Prime Path Coverage
An Experimental Comparison of Four Unit Test Criteria: Mutation, Edge-Pair, All-uses and Prime Path Coverage Nan Li, Upsorn Praphamontripong and Jeff Offutt Software Engineering George Mason University
More informationReferences: Thomas A. Henzinger (1996): The theory of hybrid automata In: Annual IEEE Symposium on Logic in Computer Science
Hybrid Systems Modeling In today's fast evolving technologies where the line between analog and digital systems is getting blurred, systems consist of a mix of continuous and discrete components. A discrete
More informationarxiv: v1 [cs.se] 4 Jul 2017
LittleDarwin: a Feature-Rich and Extensible Mutation Testing Framework for Large and Complex Java Systems Ali Parsai, Alessandro Murgia, and Serge Demeyer Antwerp Systems and Software Modelling Lab University
More informationEfficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs
Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs Prasanth Anbalagan 1 Tao Xie 2 Department of Computer Science, North Carolina State University, Raleigh, NC 27695,
More informationPRIORITIZE REGRESSION TEST CASES
PRIORITIZE REGRESSION TEST CASES Avinash Gupta, 2 Dharmender Singh Kushwaha,2 MNNIT Allahabad Email: avinashg.mnnit@gmail.com, 2 dsk@mnnit.ac.in Abstract Test suites can be reduced to a smaller suite that
More informationBasic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition
Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.
More informationFault 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 informationOn Code Coverage of Extended FSM Based Test Suites: An Initial Assessment
On Code Coverage of Extended FSM Based Test Suites: An Initial Assessment Khaled El-Fakih 1, Tariq Salameh 1, and Nina Yevtushenko 2 1 American University of Sharjah, Sharjah, UAE {Kelfakih,b00046306}@aus.edu
More informationA Controlled Experiment Assessing Test Case Prioritization Techniques via Mutation Faults
A Controlled Experiment Assessing Test Case Prioritization Techniques via Mutation Faults Hyunsook Do and Gregg Rothermel Department of Computer Science and Engineering University of Nebraska - Lincoln
More informationReading 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 informationPage 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 informationOPTIMIZED TEST GENERATION IN SEARCH BASED STRUCTURAL TEST GENERATION BASED ON HIGHER SERENDIPITOUS COLLATERAL COVERAGE
Volume 115 No. 7 2017, 549-554 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu OPTIMIZED TEST GENERATION IN SEARCH BASED STRUCTURAL TEST GENERATION
More informationAspect-oriented Response Injection: an Alternative to Classical Mutation Testing
Aspect-oriented Response Injection: an Alternative to Classical Mutation Testing Bartosz Bogacki, Bartosz Walter Institute of Computing Science, Pozna University of Technology, Poland {Bartosz Bogacki,
More informationLeveraging Program Equivalence for Adaptive Program Repair: Models and First Results. Westley Weimer, UVA Zachary P. Fry, UVA Stephanie Forrest, UNM
Leveraging Program Equivalence for Adaptive Program Repair: Models and First Results Westley Weimer, UVA Zachary P. Fry, UVA Stephanie Forrest, UNM Automated Program Repair Given a program, a notion of
More informationMutant Census: An Empirical Examination of the Competent Programmer Hypothesis
Mutant Census: An Empirical Examination of the Competent Programmer Hypothesis Rahul Gopinath Oregon State University gopinath@eecs.orst.edu Carlos Jensen Oregon State University cjensen@eecs.orst.edu
More informationImproving Evolutionary Test Data Generation with the Aid of Symbolic Execution
Improving Evolutionary Test Data Generation with the Aid of Symbolic Execution M. Papadakis 1 and N. Malevris 1 Abstract Recently, search based techniques have received great attention as a means of automating
More informationA Survey of Approaches for Automated Unit Testing. Outline
A Survey of Approaches for Automated Unit Testing Peter Carr Ron Kneusel Outline Introduction/Motivation Concolic Testing Random Testing Evolutionary Testing Random/Evolutionary Experiment and Results
More informationSoftware Quality Assurance. David Janzen
Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines
More informationMT2Way Interaction Algorithm for Pairwise Test Data Generation
MT2Way Interaction Algorithm for Pairwise Test Data Generation K. F. Rabbi 1, S. Khatun 2, A.H.Beg 1, 1 Faculty of Computer Systems & Software Engineering 2 Faculty of Electronics and Electrical Engineering
More informationImpact of Length of Test Sequence on Coverage in Software Testing
International Journal of Advanced Trends in Computer Science and Engineering, Vol.2, No.6, Pages : 219-223 (213) Special Issue of ICETEM 213 - Held on 29-3 November, 213 in Sree Visvesvaraya Institute
More informationSoftware Testing for Critical Systems
Software Testing for Critical Systems Julien Fayolle and Sandrine-Dominique Gouraud 1 1 Génie logiciel, LRI, Université d Orsay. {fayolle, gouraud}@lri.fr Web pages: www.lri.fr/ fayolle and www.lri.fr/
More informationMutation-Based Evaluation of Weighted Test Case Selection for Firewall Testing
2011 Fifth International Conference on Secure Software Integration and Reliability Improvement Mutation-Based Evaluation of Weighted Test Case Selection for Firewall Testing Tugkan Tuglular Department
More informationWhat is Mutation Testing?
What is Mutation Testing? The premise in mutation testing is that small changes are made in a module and then the original and mutant modules are compared. Similar idea to error seeding: introduce defects
More informationApplying Mutation Testing to XML Schemas
Applying Mutation Testing to XML Schemas Ledyvânia Franzotte Silvia Regina Vergilio ledyvania@inf.ufpr.br silvia@inf.ufpr.br Computer Science Department, CP: 19081, 81531-970 Federal University of Paraná
More informationTest Oracles and Mutation Testing. CSCE Lecture 23-11/18/2015
Test Oracles and Mutation Testing CSCE 740 - Lecture 23-11/18/2015 Software Testing - Back to the Basics Tests are sequences of stimuli and observations. We care about input and output. (I 1 O 1 ) (I 2
More informationImproving Test Suites for Efficient Fault Localization
Improving Test Suites for Efficient Fault Localization Benoit Baudry and Franck Fleurey IRISA, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, France {ffleurey, bbaudry}@irisa.fr Yves Le Traon France
More informationfeature Automatic Test Case Optimization: A Bacteriologic Algorithm Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, and Yves Le Traon, Irisa
feature testing Automatic Test Case Optimization: A Bacteriologic Algorithm Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, and Yves Le Traon, Irisa Finding the best test cases for software component
More informationHybrid Clustering Approach for Software Module Clustering
Hybrid Clustering Approach for Software Module Clustering 1 K Kishore C, 2 Dr. K. Ramani, 3 Anoosha G 1,3 Assistant Professor, 2 Professor 1,2 Dept. of IT, Sree Vidyanikethan Engineering College, Tirupati
More informationFault Localization with Graphical Models in Software Engineering Applications
RESEARCH INVENTY: International Journal of Engineering and Science ISSN: 2278-4721, Vol. 1, Issue 3 (Sept 2012), PP 26-31 www.researchinventy.com Fault Localization with Graphical Models in Software Engineering
More informationEVALUATING THE EFFECTIVENESS OF TEST COVERAGE CRITERIA USING MUTATION ANALYSIS. An evaluation of test coverage criteria in C#
EVALUATING THE EFFECTIVENESS OF TEST COVERAGE CRITERIA USING MUTATION ANALYSIS An evaluation of test coverage criteria in C# Examensarbete inom huvudområdet Informationsteknologi Grundnivå 30 Högskolepoäng
More informationInformatics Ingeniería en Electrónica y Automática Industrial
Informatics Ingeniería en Electrónica y Automática Industrial Operators and expressions in C Operators and expressions in C Numerical expressions and operators Arithmetical operators Relational and logical
More informationET-based Test Data Generation for Multiple-path Testing
2016 3 rd International Conference on Engineering Technology and Application (ICETA 2016) ISBN: 978-1-60595-383-0 ET-based Test Data Generation for Multiple-path Testing Qingjie Wei* College of Computer
More informationCollaborative Framework for Testing Web Application Vulnerabilities Using STOWS
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,
More informationSpecification Centered Testing
Specification Centered Testing Mats P. E. Heimdahl University of Minnesota 4-192 EE/CS Building Minneapolis, Minnesota 55455 heimdahl@cs.umn.edu Sanjai Rayadurgam University of Minnesota 4-192 EE/CS Building
More informationSTRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.
F. Tip and M. Weintraub STRUCTURAL TESTING AKA White Box Testing Thanks go to Andreas Zeller for allowing incorporation of his materials STRUCTURAL TESTING Testing based on the structure of the code Test
More informationMutant Minimization for Model-Checker Based Test-Case Generation
Mutant Minimization for Model-Checker Based Test-Case Generation Gordon Fraser and Franz Wotawa Institute for Software Technology Graz University of Technology Inffeldgasse 16b/2 A-8010 Graz, Austria {fraser,wotawa}@ist.tugraz.at
More informationDRAFT: Prepublication draft, Fall 2014, George Mason University Redistribution is forbidden without the express permission of the authors
Chapter 9 Syntax-based Testing Date last generated: September 29, 2014. DRAFT: Prepublication draft, Fall 2014, George Mason University Redistribution is forbidden without the express permission of the
More informationTesting! 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 informationIntroduction to Dynamic Analysis
Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,
More informationAn Empirical Evaluation and Analysis of the Fault-Detection Capability of MUMCUT for General Boolean Expressions *
Postprint of article in Proceedings of the International Computer Symposium (ICS 04), Taipei, Taiwan, pp. 926 932 (2004) An Empirical Evaluation and Analysis of the Fault-Detection Capability of MUMCUT
More informationAn Empirical Evaluation of Test Adequacy Criteria for Event-Driven Programs
An Empirical Evaluation of Test Adequacy Criteria for Event-Driven Programs Jaymie Strecker Department of Computer Science University of Maryland College Park, MD 20742 November 30, 2006 Abstract In model-based
More informationIntroduction. Following are the types of operators: Unary requires a single operand Binary requires two operands Ternary requires three operands
Introduction Operators are the symbols which operates on value or a variable. It tells the compiler to perform certain mathematical or logical manipulations. Can be of following categories: Unary requires
More information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals
More informationData Types and Variables in C language
Data Types and Variables in C language Disclaimer The slides are prepared from various sources. The purpose of the slides is for academic use only Operators in C C supports a rich set of operators. Operators
More informationOn the Relationships of Faults for Boolean Specification Based Testing
On the Relationships of Faults for Boolean Specification Based Testing M. E LAU* School of Information Technology Swinbume University of Technology John Street, Hawthom 3122, AUSTRALIA edmonds@it.swin.edu.au
More informationOverview of SBSE. CS454, Autumn 2017 Shin Yoo
Overview of SBSE CS454, Autumn 2017 Shin Yoo Search-Based Software Engineering Application of all the optimisation techniques we have seen so far, to the various problems in software engineering. Not web
More informationDESIGN OF MUTANT OPERATORS FOR
DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE Hiralal Agrawal Richard A. DeMillo Bob Hathaway William Hsu Wynne Hsu E.W. Krauser R. J. Martin Aditya P. Mathur Eugene Spafford Contact: Aditya
More informationRefinement of Data-Flow Testing using Ant Colony Algorithm
Refinement of Data-Flow Testing using Ant Colony Algorithm Abhay Kumar Srivastav, Supriya N S 2,2 Assistant Professor,2 Department of MCA,MVJCE Bangalore-560067 Abstract : Search-based optimization techniques
More informationMutation Testing. Leaving the Stone Age
Mutation Testing Leaving the Stone Age 2017 whoami ios Developer by day compiler hacker by night https://twitter.com/1101_debian https://lowlevelbits.org https://systemundertest.org Outline Quality of
More informationSTRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.
F. Tip and M. Weintraub STRUCTURAL TESTING AKA White Box Testing Thanks go to Andreas Zeller for allowing incorporation of his materials STRUCTURAL TESTING Testing based on the structure of the code Test
More informationOn Effective and Efficient Mutation Analysis for Unit and Integration Testing
Universität Ulm Institut für Angewandte Informationsverarbeitung On Effective and Efficient Mutation Analysis for Unit and Integration Testing Dissertation Dissertation zur Erlangung des Doktorgrades Dr.
More informationTesting: Coverage and Structural Coverage
Testing: Coverage and Structural Coverage Testing, Quality Assurance, and Maintenance Winter 2017 Prof. Arie Gurfinkel based on slides by Prof. Marsha Chechik and Prof. Lin Tan How would you test this
More informationPragmatic Substantiation Of An Efficient Test Data Generation Algorithm Based On Adequacy Testing Criteria
Pragmatic Substantiation Of An Efficient Test Data Generation Algorithm Based On Adequacy Testing Criteria I.Surya Praba 1, Assoc.Prof,Dept of CSE, ipsurya17@gmail.com Institute of Aeronautical Engineering
More informationEffect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction
International Journal of Computer Trends and Technology (IJCTT) volume 7 number 3 Jan 2014 Effect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction A. Shanthini 1,
More informationPotential Errors and Test Assessment in Software Product Line Engineering
Potential Errors and Test Assessment in Software Product Line Engineering A Mutation System for Variable Systems Hartmut Lackner hartmut.lackner@informa9k.hu- berlin.de Martin Schmidt schmidma@informa9k.hu-
More information5th World Congress for Software Quality Shanghai, China November 2011
Yoshihiro Kita University of Miyazaki Miyazaki, Japan kita@earth.cs.miyazaki-u.ac.jp Proposal of Execution Paths Indication Method for Integration Testing by Using an Automatic Visualization Tool Avis
More information1. Working with CREAM v.3.0.
1. Working with CREAM v.3.0. Here is the user guide for CREAM v.3.0. The process of installation and configuration is described in chapter 1.1. The following sections show how you can use the features
More informationAutomated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs
Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs Prasanth Anbalagan Tao Xie Department of Computer Science, North Carolina State University, NC 27695, USA panbala@ncsu.edu
More informationReading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis
Reading Assignment Symbolic Evaluation/Execution *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationSymbolic Evaluation/Execution
Symbolic Evaluation/Execution Reading Assignment *R.W. Floyd, "Assigning Meaning to Programs, Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer
More informationMAJOR: An Efficient and Extensible Tool for Mutation Analysis in a Java Compiler
MAJOR: An Efficient and Extensible Tool for Mutation Analysis in a Java Compiler René Just 1, Franz Schweiggert 1, and Gregory M. Kapfhammer 2 1 Ulm University, Germany 2 Allegheny College, USA 26th International
More informationSTRUCTURAL SOFTWARE TESTING: HYBRID ALGORITHM FOR OPTIMAL TEST SEQUENCE SELECTION DURING REGRESSION TESTING
STRUCTURAL SOFTWARE TESTING: HYBRID ALGORITHM FOR OPTIMAL TEST SEQUENCE SELECTION DURING REGRESSION TESTING J. Albert Mayan 1, T. Ravi 2 1 Research Scholar, Faculty of Computing, Sathyabama University,
More informationAUTOMATIC TEST DATA GENERATION USING DATA FLOW INFORMATION
AUTOMATIC TEST DATA GENERATION USING DATA FLOW INFORMATION Abdelaziz Khamis Dept of Comp. & Inf. Sciences, Cairo University Reem Bahgat Dept of Computer Science, Cairo University Rana Abdelaziz Dept of
More informationReview of Regression Test Case Selection Techniques
Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram
More information