Abstract
The regression test selection problem—selecting a subset of a test-suite given a change—has been studied widely over the past two decades. However, the problem has seen little attention when constrained to high-criticality developments and where a “safe” selection of tests need to be chosen. Further, no practical approaches have been presented for the programming language Ada. In this paper, we introduce an approach to solving the selection problem given a combination of both static and dynamic data for a program and a change-set. We present a change impact analysis for Ada that selects the safe set of tests that need to be re-executed to ensure no regressions. We have implemented the approach in the commercial, unit-testing tool VectorCAST, and validated it on a number of open-source examples. On an example of a fully-functioning Ada implementation of a DNS server (Ironsides), the experimental results show a 97% reduction in test-case execution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In this paper, we use the term “subprogram”, without introducing ambiguity, to refer to either a function or a procedure inside of an Ada package.
- 2.
www.vectorcast.com; in what follows, we write VectorCAST to mean VectorCAST/Ada.
- 3.
where “impact” is the inverse relation of dependency.
References
AdaIC: Comments on Ada in Relation to C++, November 1998. http://archive.adaic.com/docs/present/engle/comments/index.html. Accessed 22 Mar 2016
Carlisle, M.C.: Ironsides homepage, April 2015. http://ironsides.martincarlisle.com. Accessed 22 Mar 2016
Engström, E., Runeson, P., Skoglund, M.: A systematic review on regression test selection techniques. Inf. Softw. Technol. 52(1), 14–30 (2010)
Fagin, B., Carlisle, M.: Provably secure DNS: a case study in reliable software. In: Keller, H.B., Plödereder, E., Dencker, P., Klenk, H. (eds.) Ada-Europe 2013. LNCS, vol. 7896, pp. 81–93. Springer, Heidelberg (2013)
Harrold, M.J., Souffa, M.L.: An incremental approach to unit testing during maintenance. In: Proceedings of the Conference on Software Maintenance, pp. 362–367 (1988)
Huang, L., Song, Y.: Precise dynamic impact analysis with dependency analysis for object-oriented programs. In: Proceedings of the 5th International Conference on Software Engineering Research (SERA 2007), pp. 374–384. IEEE Computer Society (2007)
Hummel, J., Hendren, L.J., Nicolau, A.: A framework for data dependence testing in the presence of pointers. In: Proceedings of the 1994 International Conference on Parallel Processing, pp. 216–224. CRC Press (1994)
Jones, A.V.: CBT for Ada Examples, January 2016. https://github.com/andrewvaughanj/CBT_for_Ada_Examples. Accessed 22 Mar 2016
Kaisti, M., Rantala, V., Mujunen, T., Hyrynsalmi, S., Könnölä, K., Mäkilä, T., Lehtonen, T.: Agile methods for embedded systems development - a literature review and a mapping study. EURASIP J. Emb. Sys. 2013(1), 1–16 (2013)
Larsen, L., Harrold, M.J.: Slicing object-oriented software. In: Proceedinigs of the 18th International Conference on Software Engineering (ICSE 1996), pp. 495–505. IEEE Computer Society (1996)
Law, J., Rothermel, G.: Whole program path-based dynamic impact analysis. In: Proceedings of the 25th International Conference on Software Engineering (ICSE 2003), pp. 308–318. IEEE Computer Society (2003)
Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test., Verif. Reliab. 23(8), 613–646 (2013)
Loyall, J.P., Mathisen, S.A., Satterthwaite, C.P.: Impact analysis and change management for avionics software. In: Proceedings of the 1997 National Conference on Aerospace and Electronics, pp. 740–747 (1997)
Malaise, P.: PMA’s Ada contrib, January 2016. http://pmahome.cigecompta.fr/ada/html/REPOSIT_LIST.html. Accessed 22 Mar 2016
Orso, A., Apiwattanapong, T., Harrold, M.J.: Leveraging field data for impact analysis and regression testing. In: Proceedings of the 11th Symposium on Foundations of Software Engineering, pp. 128–137. ACM (2003)
Orso, A., Apiwattanapong, T., Law, J., Rothermel, G., Harrold, M.J.: An empirical comparison of dynamic impact analysis algorithms. In: Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), pp. 491–500. IEEE Computer Society (2004)
Parsai, A., Soetens, Q.D., Murgia, A., Demeyer, S.: Considering polymorphism in change-based test suite reduction. In: Dingsøyr, T., Moe, N.B., Tonelli, R., Counsell, S., Gencel, C., Petersen, K. (eds.) XP 2014. LNBIP, vol. 199, pp. 166–181. Springer, Heidelberg (2014)
Pezzè, M., Young, M.: Software Testing And Analysis - Process, Principles And Techniques. Wiley, Hoboken (2007)
Ren, X., Shah, F., Tip, F., Ryder, B.G., Chesley, O.: Chianti: a tool for change impact analysis of java programs. In: Proceedings of the 19th International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 432–448. ACM (2004)
Ren, X., Ryder, B.G., Störzer, M., Tip, F.: Chianti: a change impact analysis tool for Java programs. In: Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), pp. 664–665. ACM (2005)
Ryder, B.G., Tip, F.: Change impact analysis for object-oriented programs. In: Proceedings of the 2001 Workshop on Program Analysis for Software Tools and Engineering, pp. 46–53. ACM (2001)
Soetens, Q.D., Demeyer, S., Zaidman, A., Pérez, J.: Change-based test selection: an empirical evaluation. Empirical Softw. Eng. 1–43 (2015)
Special Committee 205 of RTCA: DO-178C, Software Considerations In Airborne Systems And Equipment Certification. Radio Technical Commission for Aeronautics (2011)
Stålhane, T., Hanssen, G.K., Myklebust, T., Haugset, B.: Agile change impact analysis of safety critical software. In: Bondavalli, A., Ceccarelli, A., Ortmeier, F. (eds.) SAFECOMP 2014. LNCS, vol. 8696, pp. 444–454. Springer, Heidelberg (2014)
Watson, A.H., McCabe, T.J., Wallace, D.R.: Structured testing: a software testing methodology using the cyclomatic complexity metric. Technical report Special Publication 500–235, U.S. Department of Commerce/National Institute of Standards and Technology, September 1996
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Jones, A.V. (2016). Addressing the Regression Test Problem with Change Impact Analysis for Ada. In: Bertogna, M., Pinho, L., Quiñones, E. (eds) Reliable Software Technologies – Ada-Europe 2016. Ada-Europe 2016. Lecture Notes in Computer Science(), vol 9695. Springer, Cham. https://doi.org/10.1007/978-3-319-39083-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-39083-3_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-39082-6
Online ISBN: 978-3-319-39083-3
eBook Packages: Computer ScienceComputer Science (R0)