Abstract
In what order should we debug defects reported in regression testing to minimize the overall effort of repairing a program? Other than prioritizing defects from business and project managerial perspectives, technical considerations such as dependencies among defects have also to do with answering this question. Errors ripple through code - on one hand, we may want to fix defects that have wide impact on other program failures revealed by testing. But some of such root causes of failures that are affected by other defects may not be ready for correction. Without systematic impact analysis among functional program units, programmers determine the order of fixing defects mostly manually, relying on intuition. We propose a semi-automated method with filtering, visualizations and heuristics-based computations to solve the problem. Instead of dependency graphs for impact analysis, the source of information for our method are easier to build and often used mappings between test cases and relevant software requirements. We derived and validated our method over 15 years of teaching a project course in which test cases are tagged with relevant requirements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing, 3rd edn. Wiley, Hoboken (2011)
Jiang, S., McMillan, C., Santelicesasa, R.: Do Programmers do Change Impact Analysis? Empirical Software Engineering, pp. 631–669 (2016). https://doi.org/10.1007/s10664-016-9441-9
Jarzabek, S.: Teaching advanced software design in team-based project course. In: 26th IEEE-CS Conference on Software Engineering Education and Training (CSEET), pp. 35–44 (2013). https://doi.org/10.1109/CSEET.2013.6595234
Jarzabek, S.: Design of flexible static program analyzers with PQL. IEEE Trans. Soft. Eng. 197–215, (1998). https://doi.org/10.1109/32.667879
Bernard, E., Legeard, B.: Requirements traceability in the model-based testing process. In: Software Engineering ser. Lecture Notes in Informatics, vol. 106, pp. 45–54 (2007)
Kukkanen, J., VÃd’kevÃd’inen, K., Kauppinen, M., Uusitalo, E.: Applying a systematic approach to link requirements and testing: a case study. In: Proceedings of the 16th Asia-Pacific Software Engineering Conference (APSEC), pp. 482–488 (2009). https://doi.org/10.1109/APSEC.2009.62
Spanoudakis, G., Zisman, A., Perez-Minana, E., Krause, P.: Rule-based generation of requirements traceability relations. J. Syst. Softw. 72(2), 105–127 (2004). https://doi.org/10.1016/S0164-1212(03)00242-5
Uusitalo, E.J., Komssi, M., Kauppinen, M., Davis, A.M.: Linking requirements and testing in practice. In: 16th IEEE International Requirements Engineering Conference, pp. 265–270 (2008). https://doi.org/10.1109/RE.2008.30
World Quality Report 2018–19, by Capgenini. https://www.capgemini.com/service/world-quality-report-2018-19/. Cited 15 May 2019
Acknowledgements
This study was supported by grant S/WI/2/2018 from Bialystok University of Technology and founded from the resources for research Ministry of Science and Higher Education.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Jarzabek, S., Liszewski, K., Boldak, C. (2020). Inferring Hints for Defect Fixing Order from Requirements-to-test-case Mappings. In: Jarzabek, S., Poniszewska-Marańda, A., Madeyski, L. (eds) Integrating Research and Practice in Software Engineering. Studies in Computational Intelligence, vol 851. Springer, Cham. https://doi.org/10.1007/978-3-030-26574-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-26574-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-26573-1
Online ISBN: 978-3-030-26574-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)