skip to main content
research-article

A model-based regression test selection approach for embedded applications

Published:06 July 2009Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Binkley. Semantics guided regression test cost reduction. IEEE Transactions on Software Engineering, 23(8):498--516, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Binder. Testing Object-Oriented Systems:Models, Patterns, and Tools. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. D. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Jorgensen and C. Erickson. Object-oriented integration testing. Communications of ACM, 37(9):30--38, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Leung and L. White. Insights into regression testing. In Proceedings of the Conference on Software Maintenance, pages 60--69, 1989.Google ScholarGoogle Scholar
  18. R. Mall. Fundamentals of Software Engineering. Prentice Hall of India, 2nd edition, 2008.Google ScholarGoogle Scholar
  19. A. Mathur. Foundations of Software Testing. Pearson Education, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. G. Mund and R. Mall. An efficient interprocedural dynamic slicing method. Journal of Systems and Software, 79(6):791--806, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. McGregor and D. Sykes. A Practical Guide to Testing Object-Oriented Software. Addison-Wesley, March 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Musa. Operational profiles in software-reliability engineering. IEEE Software, 10(2):14--32, March 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Rothermel and M. Harrold. Selecting regression tests for object-oriented software. In International Conference on Software Maintenance, pages 14--25, March 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. G. Rothermel and M. Harrold. Analyzing regression test selection techniques. IEEE Transactions on Software Engineering, 22(8):529--551, August 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Rothermel, M. Harrold, and J. Dedhia. Regression test selection for C++ software. Software Testing, Verification and Reliability, 10:77--109, June 2000.Google ScholarGoogle ScholarCross RefCross Ref
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. B. Stroustrup. The C++ programming language. Addison-Wesley, 3rd edition, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. A model-based regression test selection approach for embedded applications

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader