Abstract
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.
- M. Allen and S. Horwitz. Slicing java programs that throw and catch exceptions. In In PEPM 03: Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation, pages 44--54, 2003. Google ScholarDigital Library
- D. Binkley. Semantics guided regression test cost reduction. IEEE Transactions on Software Engineering, 23(8):498--516, August 1997. Google ScholarDigital Library
- R. Binder. Testing Object-Oriented Systems:Models, Patterns, and Tools. Addison-Wesley, 1999. Google ScholarDigital Library
- A. Cleve, J. Henrard, and J. Hainaut. Data reverse engineering using system dependency graphs. In Proceedings of the 13th Working Conference on Reverse Engineering, pages 157--166, 2006. Google ScholarDigital Library
- C. Fonseca and P. Fleming. Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization. In Genetic Algorithms: Proceedings of the 5th Internation Conference, pages 416--423, July 1993. Google ScholarDigital Library
- R. Gupta, M. Harrold, and M. Soffa. Program slicing-based regression testing techniques. Journal of Software Testing, Verification, and Reliability, 6(2):83--112, June 1996.Google Scholar
- D. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 2000. Google ScholarDigital Library
- K. Hla, Y. Choi, and J. Park. Applying particle swarm optimization to prioritizing test cases for embedded real time software retesting. In Proceedings of the 2008 IEEE 8th International Conference on Computer and Information Technology Workshops, pages 527--532, 2008. Google ScholarDigital Library
- M. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, S. A. Spoon, and A. Gujarathi. Regression test selection for java software. In Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pages 312--326, January 2001. Google ScholarDigital Library
- S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM Trans. on Programming Languages and Systems, 12(1):26--61, January 1990. Google ScholarDigital Library
- P. Jorgensen and C. Erickson. Object-oriented integration testing. Communications of ACM, 37(9):30--38, 1994. Google ScholarDigital Library
- S. Jiang, S. Zhou, Y. Shi, and Y. Jiang. Improving the preciseness of dependence analysis using exception analysis. In Proceedings of the 15th International Conference on Computing IEEE, pages 277--282, 2006. Google ScholarDigital Library
- J. Korpi and J. Koskinen. Advances and Innovations in Systems, Computing Sciences and Software Engineering, chapter Supporting Impact Analysis by Program Dependence Graph Based Forward Slicing, pages 197--202. Springer Netherlands, 2007.Google Scholar
- D. Liang and M. Harrold. Slicing objects using system dependence graphs. In Proceedings of the International Conference on Software Maintenance, pages 358--367, November 1998. Google ScholarDigital Library
- Z. Li, M. Harman, and R. Hierons. Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4):225--237, April 2007. Google ScholarDigital Library
- L. Larsen and M.Harrold. Slicing object-oriented software. In Proceedings of the 18th International Conference On Software Engineering, pages 495--505, March 1996. Google ScholarDigital Library
- H. Leung and L. White. Insights into regression testing. In Proceedings of the Conference on Software Maintenance, pages 60--69, 1989.Google Scholar
- R. Mall. Fundamentals of Software Engineering. Prentice Hall of India, 2nd edition, 2008.Google Scholar
- A. Mathur. Foundations of Software Testing. Pearson Education, 2008. Google ScholarDigital Library
- G. Mund and R. Mall. An efficient interprocedural dynamic slicing method. Journal of Systems and Software, 79(6):791--806, June 2006. Google ScholarDigital Library
- J. McGregor and D. Sykes. A Practical Guide to Testing Object-Oriented Software. Addison-Wesley, March 2001. Google ScholarDigital Library
- J. Musa. Operational profiles in software-reliability engineering. IEEE Software, 10(2):14--32, March 1993. Google ScholarDigital Library
- G. Rothermel and M. Harrold. Selecting regression tests for object-oriented software. In International Conference on Software Maintenance, pages 14--25, March 1994. Google ScholarDigital Library
- G. Rothermel and M. Harrold. Selecting tests and identifying test coverage requirements for modified software. In Proceedings of the ACM International Symposium on Software Testing and Analysis, pages 169--184, August 1994. Google ScholarDigital Library
- G. Rothermel and M. Harrold. Analyzing regression test selection techniques. IEEE Transactions on Software Engineering, 22(8):529--551, August 1996. Google ScholarDigital Library
- G. Rothermel and M. Harrold. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology, 6(2):173--210, April 1997. Google ScholarDigital Library
- G. Rothermel, M. Harrold, and J. Dedhia. Regression test selection for C++ software. Software Testing, Verification and Reliability, 10:77--109, June 2000.Google ScholarCross Ref
- S. Sinha and M. Harrold. Analysis of programs with exception-handling constructs. In In Proceedings of the International Conference on Software Maintenance, pages 348--357, 1998. Google ScholarDigital Library
- S. Sinha and M. Harrold. Analysis and testing of programs with exception-handling constructs. IEEE Transactions on Software Engineering, 26(9):849--871, 2000. Google ScholarDigital Library
- S. Sinha, M. Harrold, and G. Rothermel. System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow. In Proceedings of the 21st International Conference on Software Engineering, pages 432--441, 1999. Google ScholarDigital Library
- S. Sinha, A. Orso, and M. Harrold. Automated support for development, maintenance, and testing in the presence of implicit control flow. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 336--345, 2004. Google ScholarDigital Library
- D. Sundmark, A. Pettersson, S. Eldh, M. Ekman, and H. Thane. Efficient system-level testing of embedded real-time software. In Work in Progress Session of the 17th Eurmicro Conference on Real-Time System, Spain, pages 53--56, December 2007.Google Scholar
- D. Sundmark, A. Pettersson, and H. Thane. Regression testing of multi-tasking real-time systems: A problem statement. ACM SIGBED Review, 2(2):31--34, April 2005. Google ScholarDigital Library
- B. Stroustrup. The C++ programming language. Addison-Wesley, 3rd edition, 2004. Google ScholarDigital Library
- J. Tsai, K. Fang, and Y. Bi. On real-time software testing and debugging. In Proceedings of the Fourteenth Annual International Computer Software and Applications Conference,, pages 512--518, 1990.Google ScholarCross Ref
- S. Yoo and M. Harman. Pareto efficient multi-objective test case selection. In Proceedings of the 2007 International Symposium on Software Testing and Analysis, pages 140--150, 2007. Google ScholarDigital Library
- R. Zhao and L. Lin. An uml statechart diagram-based mmpath generation approach for object-oriented integration testing. In Proceedings of World Academy of Science, Engineering and Technology, volume 16, November 2006.Google Scholar
- E. Zitzler and L. Thiele. Multiobjective optimization using evolutionary algorithms - a comparative case study. In Proceedings of the 5th International Conference on Parallel Problem Solving from Nature, pages 292--304, 1998. Google ScholarCross Ref
Index Terms
- A model-based regression test selection approach for embedded applications
Recommendations
A safe, efficient regression test selection technique
Regression testing is an expensive but necessary maintenance activity performed on modified software to provide confidence that changes are correct and do not adversely affect other portions of the softwore. A regression test selection technique choses, ...
Empirical Studies of a Safe Regression Test Selection Technique
Regression testing is an expensive testing procedure utilized to validate modified software. Regression test selection techniques attempt to reduce the cost of regression testing by selecting a subset of a program's existing test suite. Safe regression ...
Comparing and combining test-suite reduction and regression test selection
ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software EngineeringRegression testing is widely used to check that changes made to software do not break existing functionality, but regression test suites grow, and running them fully can become costly. Researchers have proposed test-suite reduction and regression test ...
Comments