A model-based regression test selection approach for embedded applications

Regression test selection techniques for embedded programs have scarcely been reported in the literature. In this paper, we propose a model-based regression test selection technique for embedded programs. Our proposed model, in addition to capturing the data and control dependence aspects, also represents several additional program features that are important for regression test case selection of embedded programs. These features include control flow, exception handling, message paths, task priorities, state information and object relations. We select a regression test suite based on slicing our proposed graph model. We also propose a genetic algorithm-based technique to select an optimal subset of test cases from the set of regression test cases selected after slicing our proposed model.

[1]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[2]  Lothar Thiele,et al.  Multiobjective Optimization Using Evolutionary Algorithms - A Comparative Case Study , 1998, PPSN.

[3]  Peter J. Fleming,et al.  Genetic Algorithms for Multiobjective Optimization: FormulationDiscussion and Generalization , 1993, ICGA.

[4]  Alessandro Orso,et al.  Regression test selection for Java software , 2001, OOPSLA '01.

[5]  Saurabh Sinha,et al.  Analysis and Testing of Programs with Exception Handling Constructs , 2000, IEEE Trans. Software Eng..

[6]  Ling Lin,et al.  An UML Statechart Diagram-Based MM-Path Generation Approach for Object-Oriented Integration Testing , 2008 .

[7]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[9]  John D. McGregor,et al.  A Practical Guide to Testing Object-Oriented Software , 2001, Addison Wesley object technology series.

[10]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[11]  David W. Binkley,et al.  Semantics Guided Regression Test Cost Reduction , 1997, IEEE Trans. Software Eng..

[12]  Gregg Rothermel,et al.  Regression Test Selection for C++ Software , 2000, Softw. Test. Verification Reliab..

[13]  Gregg Rothermel,et al.  Analyzing Regression Test Selection Techniques , 1996, IEEE Trans. Software Eng..

[14]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[15]  Jong Sou Park,et al.  Applying Particle Swarm Optimization to Prioritizing Test Cases for Embedded Real Time Software Retesting , 2008, 2008 IEEE 8th International Conference on Computer and Information Technology Workshops.

[16]  Alessandro Orso,et al.  Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow , 2004, ICSE.

[17]  Saurabh Sinha,et al.  Analysis of programs with exception-handling constructs , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[18]  Paul C. Jorgensen,et al.  Object-oriented integration testing , 1994, CACM.

[19]  Al Stevens,et al.  C programming , 1990 .

[20]  Susan Horwitz,et al.  Slicing java programs that throw and catch exceptions , 2003, PEPM '03.

[21]  Gregg Rothermel,et al.  Selecting regression tests for object-oriented software , 1994, Proceedings 1994 International Conference on Software Maintenance.

[22]  Daniel Sundmark,et al.  Efficient System-Level Testing of Embedded Real-Time Software , 2005 .

[23]  Jussi Koskinen,et al.  Supporting Impact Analysis by Program Dependence Graph Based Forward Slicing , 2007 .

[24]  Mark Harman,et al.  Pareto efficient multi-objective test case selection , 2007, ISSTA '07.

[25]  Gregg Rothermel,et al.  Selecting tests and identifying test coverage requirements for modified software , 1994, ISSTA '94.

[26]  Gregg Rothermel,et al.  A safe, efficient regression test selection technique , 1997, TSEM.

[27]  Donglin Liang,et al.  Slicing objects using system dependence graphs , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[28]  Jeffrey J. P. Tsai,et al.  On real-time software testing and debugging , 1990, Proceedings., Fourteenth Annual International Computer Software and Applications Conference.

[29]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[30]  Anthony Cleve,et al.  Data Reverse Engineering using System Dependency Graphs , 2006, 2006 13th Working Conference on Reverse Engineering.

[31]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[32]  Daniel Sundmark,et al.  Regression testing of multi-tasking real-time systems: a problem statement , 2005, SIGBED.

[33]  C. Fonseca,et al.  GENETIC ALGORITHMS FOR MULTI-OBJECTIVE OPTIMIZATION: FORMULATION, DISCUSSION, AND GENERALIZATION , 1993 .

[34]  Yuqin Shi,et al.  Improving the Preciseness of Dependence Analysis Using Exception Analysis , 2006, 2006 15th International Conference on Computing.

[35]  Rajib Mall,et al.  An efficient interprocedural dynamic slicing method , 2006, J. Syst. Softw..

[36]  Gregg Rothermel,et al.  System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[37]  Mary Lou Soffa,et al.  Program Slicing‐Based Regression Testing Techniques , 1996 .