Heuristic Approaches for Equivalent Mutant Problem Inderjot 1 Dr. Rakesh Kumar 2

Size: px
Start display at page:

Download "Heuristic Approaches for Equivalent Mutant Problem Inderjot 1 Dr. Rakesh Kumar 2"

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 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 information

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation

What 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 information

TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING

TEST 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 information

ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis

ExMAn: 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 information

Nequivack: Assessing mutation score confidence

Nequivack: 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 information

ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis 1

ExMAn: 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 information

International Journal of Advanced Research in Computer Science and Software Engineering

International 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 information

An analysis of Mutation testing and Code coverage during progress of projects

An 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 information

A New Mutation Analysis Method for Testing Java Exception Handling

A 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 information

Introduction to Software Testing Chapter 5.1 Syntax-based Testing

Introduction 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 information

Mutant Execution Cost Reduction

Mutant 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 information

Class-Component Testability Analysis

Class-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 information

Finding Sufficient Mutation Operators via Variable Reduction

Finding 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 information

A Survey on Different Approaches for Efficient Mutation Testing

A 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 information

AN EVALUATION OF MUTATION OPERATORS FOR EQUIVALENT MUTANTS. Maryam Umar

AN 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 information

Mutation at System and Functional Levels

Mutation 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 information

Generating minimal fault detecting test suites for Boolean expressions

Generating 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 information

Using 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 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 information

White Box Testing III

White 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 information

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

ISSN: [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 information

Part I: Preliminaries 24

Part 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 information

MTAT : Software Testing

MTAT : 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 information

Operator Based Efficient Mutant Generation Methods for Procedural and Object-Oriented Languages

Operator 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 information

Application Testability for Fault Detection Using Dependency Structure Algorithm

Application 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 information

A Comparative Study on Mutation Analysis for Java Applications

A 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 information

Object Oriented Mutation Applied in Java Application programming Interface and C++ Classes

Object 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 information

Program-based Mutation Testing

Program-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 information

An Analysis of OO Mutation Operators

An 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 information

SMT-C: A Semantic Mutation Testing Tool for C

SMT-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 information

On Guiding the Augmentation of an Automated Test Suite via Mutation Analysis

On 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 information

CMPSCI 521/621 Homework 2 Solutions

CMPSCI 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 information

Comparative Assessment of Testing and Model Checking Using Program Mutation

Comparative 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 information

Fault-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. 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 information

Advanced Topics Combining S. M. T

Advanced 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 information

Structural Testing & Mutation

Structural 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 information

On Guiding the Augmentation of an Automated Test Suite via Mutation Analysis

On 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 information

An 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 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 information

References: Thomas A. Henzinger (1996): The theory of hybrid automata In: Annual IEEE Symposium on Logic in Computer Science

References: 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 information

arxiv: v1 [cs.se] 4 Jul 2017

arxiv: 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 information

Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs

Efficient 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 information

PRIORITIZE REGRESSION TEST CASES

PRIORITIZE 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 information

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic 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 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

On Code Coverage of Extended FSM Based Test Suites: An Initial Assessment

On 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 information

A Controlled Experiment Assessing Test Case Prioritization Techniques via Mutation Faults

A 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 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

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

OPTIMIZED TEST GENERATION IN SEARCH BASED STRUCTURAL TEST GENERATION BASED ON HIGHER SERENDIPITOUS COLLATERAL COVERAGE

OPTIMIZED 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 information

Aspect-oriented Response Injection: an Alternative to Classical Mutation Testing

Aspect-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 information

Leveraging 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 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 information

Mutant Census: An Empirical Examination of the Competent Programmer Hypothesis

Mutant 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 information

Improving Evolutionary Test Data Generation with the Aid of Symbolic Execution

Improving 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 information

A Survey of Approaches for Automated Unit Testing. Outline

A 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 information

Software Quality Assurance. David Janzen

Software 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 information

MT2Way Interaction Algorithm for Pairwise Test Data Generation

MT2Way 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 information

Impact of Length of Test Sequence on Coverage in Software Testing

Impact 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 information

Software Testing for Critical Systems

Software 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 information

Mutation-Based Evaluation of Weighted Test Case Selection for Firewall Testing

Mutation-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 information

What is Mutation Testing?

What 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 information

Applying Mutation Testing to XML Schemas

Applying 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 information

Test Oracles and Mutation Testing. CSCE Lecture 23-11/18/2015

Test 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 information

Improving Test Suites for Efficient Fault Localization

Improving 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 information

feature Automatic Test Case Optimization: A Bacteriologic Algorithm Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, and Yves Le Traon, Irisa

feature 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 information

Hybrid Clustering Approach for Software Module Clustering

Hybrid 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 information

Fault Localization with Graphical Models in Software Engineering Applications

Fault 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 information

EVALUATING 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# 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 information

Informatics Ingeniería en Electrónica y Automática Industrial

Informatics 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 information

ET-based Test Data Generation for Multiple-path Testing

ET-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 information

Collaborative Framework for Testing Web Application Vulnerabilities Using STOWS

Collaborative 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 information

Specification Centered Testing

Specification 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 information

STRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.

STRUCTURAL 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 information

Mutant Minimization for Model-Checker Based Test-Case Generation

Mutant 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 information

DRAFT: Prepublication draft, Fall 2014, George Mason University Redistribution is forbidden without the express permission of the authors

DRAFT: 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 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

Introduction to Dynamic Analysis

Introduction 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 information

An Empirical Evaluation and Analysis of the Fault-Detection Capability of MUMCUT for General Boolean Expressions *

An 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 information

An Empirical Evaluation of Test Adequacy Criteria for Event-Driven Programs

An 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 information

Introduction. Following are the types of operators: Unary requires a single operand Binary requires two operands Ternary requires three operands

Introduction. 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 information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.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 information

Data Types and Variables in C language

Data 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 information

On the Relationships of Faults for Boolean Specification Based Testing

On 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 information

Overview of SBSE. CS454, Autumn 2017 Shin Yoo

Overview 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 information

DESIGN OF MUTANT OPERATORS FOR

DESIGN 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 information

Refinement of Data-Flow Testing using Ant Colony Algorithm

Refinement 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 information

Mutation Testing. Leaving the Stone Age

Mutation 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 information

STRUCTURAL TESTING. AKA White Box Testing. Thanks go to Andreas Zeller for allowing incorporation of his materials. F. Tip and M.

STRUCTURAL 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 information

On Effective and Efficient Mutation Analysis for Unit and Integration Testing

On 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 information

Testing: Coverage and Structural Coverage

Testing: 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 information

Pragmatic 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 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 information

Effect of Principle Component Analysis and Support Vector Machine in Software Fault Prediction

Effect 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 information

Potential Errors and Test Assessment in Software Product Line Engineering

Potential 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 information

5th World Congress for Software Quality Shanghai, China November 2011

5th 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 information

1. Working with CREAM v.3.0.

1. 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 information

Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs

Automated 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 information

Reading Assignment. Symbolic Evaluation/Execution. Move from Dynamic Analysis to Static Analysis. Move from Dynamic Analysis to Static Analysis

Reading 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 information

Symbolic Evaluation/Execution

Symbolic 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 information

MAJOR: 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 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 information

STRUCTURAL 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 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 information

AUTOMATIC TEST DATA GENERATION USING DATA FLOW INFORMATION

AUTOMATIC 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 information

Review of Regression Test Case Selection Techniques

Review 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