Abstract
Change impact analysis is a challenging activity due to the usually huge number of dependencies that have to be considered. Nevertheless it is still often performed manually, relying on expert knowledge and intuition. The aim of this paper is to evaluate the practice of manual change impact analysis and to explore the benefits of tool support in the context of an industrial project. A study has been conducted with experienced developers estimating the changes necessary for implementing bug fixes and feature requests extracted from the project’s history. The results of the manual change impact analysis showed a low estimation performance, which could be improved with tool support to achieve a higher number of hits at the expense of more false positives.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bohner, S.A., Arnold, R.S.: Software Change Impact Analysis. IEEE Computer Society Press, Los Alamitos (1996)
Buckner, J., Buchta, J., Petrenko, M., Rajlich, V.: JRipples: a tool for program comprehension during incremental change. In: Proceedings of the 13th International Workshop on Program Comprehension (IWPC ’05), pp. 149–152. IEEE Computer Society (2005)
Cornelissen, B., Zaidman, A., van Deursen, A., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Trans. Softw. Eng. 35(5), 684–702 (2009)
Cubranic, D., Murphy, G.C.: Hipikat: recommending pertinent software development artifacts. In: Proceedings of the 25th International Conference on Software Engineering (ICSE ’03), pp. 408–418 (2003)
Cubranic, D., Murphy, G.C., Singer, J., Booth, K.S.: Hipikat: a project memory for software development. IEEE Trans. Softw. Eng. 31(6), 446–465 (2005)
Kagdi, H., Collard, M.L., Maletic, J.I.: A survey and taxonomy of approaches for mining software repositories in the context of software evolution. J. Softw. Maint. Evol. 19(2), 77–131 (2007)
Kilpinen, M.S.: The emergence of change at the systems engineering and software design interface: an investigation of impact analysis. Ph.D. thesis, University of Cambridge, Cambridge, UK (2008)
Lehnert, S.: A taxonomy for software change impact analysis. In: Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th Annual ERCIM Workshop on Software Evolution (IWPSE-EVOL 2011), Szeged, Hungary, September 2011, pp. 41–50 (2011)
Lehnert, S.: A review of software change impact analysis. Technical report, Technische Universität Ilmenau (2011). URN: urn:nbn:de:gbv:ilm1-2011200618
Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test. Verification Reliab. 23, 613–646 (2013)
Lindvall, M., Sandahl, K.: How well do experienced software developers predict software change? J. Syst. Softw. (archive) 43(1), 19–27 (1998). Elsevier Science Inc., New York, NY, USA
Van de Laar, P.: Transferring evolutionary couplings to industry. In: Van de Laar, P., Punter, T. (eds.) Views on Evolvability of Embedded Systems, pp. 69–88. Embedded Systems. Springer, Rotterdam (2011)
Pirklbauer, G., Fasching, Ch., Kurschl, W.: Improving change impact analysis with a tight integrated process and tool. In: 7th International Conference on Information Technology: New Generations (ITNG 2010), Las Vegas, Nevada, USA, April 2010, pp. 12–14 (2010)
Ratzinger, J., Fischer, M., Gall, H.: EvoLens: lens-view visualizations of evolution data. In: Proceedings of the 8th International Workshop on Principles of Software Evolution (IWPSE ’05), pp. 103–112. IEEE Computer Society (2005)
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 Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA ’04), pp. 432–448 (2004)
Rijsbergen, C.J.V.: Information Retrieval. Butterworths, London (1979)
Sliwerski, J., Zimmermann, T., Zeller, A.: HATARI: raising risk awareness. In: Proceedings of the 10th European Software Engineering Conference, 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE), Lisbon (2005)
Tóth, G., Hegedűs, P., Beszédes, Á., Gyimóthy, T., Jász, J.: Comparison of different impact analysis methods and programmer’s opinion: an empirical study. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java (PPPJ ’10), New York, NY, USA, pp. 109–118 (2010)
Wetzlmaier, T., Klammer, C., Ramler, R.: Extracting dependencies from software changes: an industry experience report. In: Proceedings of the 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement (IWSM-Mensura). IEEE Computer Society (2014)
Zimmermann, T., Zeller, A., Weißgerber, P., Diehl, S.: Mining version histories to guide software changes. IEEE Trans. Softw. Eng. 31(6), 429–445 (2005). IEEE Press
Acknowledgements
This work has been supported by the competence centers program COMET of the Austrian Research Promotion Agency (FFG). Furthermore, the authors would like to thank the developers involved in the analyzed industry project for participating in the study.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Wetzlmaier, T., Ramler, R. (2015). Improving Manual Change Impact Analysis with Tool Support: A Study in an Industrial Project. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality. Software and Systems Quality in Distributed and Mobile Environments. SWQD 2015. Lecture Notes in Business Information Processing, vol 200. Springer, Cham. https://doi.org/10.1007/978-3-319-13251-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-13251-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-13250-1
Online ISBN: 978-3-319-13251-8
eBook Packages: Computer ScienceComputer Science (R0)