Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2337223.2337274acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Integrated impact analysis for managing software changes

Published: 02 June 2012 Publication History

Abstract

The paper presents an adaptive approach to perform impact analysis from a given change request to source code. Given a textual change request (e.g., a bug report), a single snapshot (release) of source code, indexed using Latent Semantic Indexing, is used to estimate the impact set. Should additional contextual information be available, the approach configures the best-fit combination to produce an improved impact set. Contextual information includes the execution trace and an initial source code entity verified for change. Combinations of information retrieval, dynamic analysis, and data mining of past source code commits are considered. The research hypothesis is that these combinations help counter the precision or recall deficit of individual techniques and improve the overall accuracy. The tandem operation of the three techniques sets it apart from other related solutions. Automation along with the effective utilization of two key sources of developer knowledge, which are often overlooked in impact analysis at the change request level, is achieved.
To validate our approach, we conducted an empirical evaluation on four open source software systems. A benchmark consisting of a number of maintenance issues, such as feature requests and bug fixes, and their associated source code changes was established by manual examination of these systems and their change history. Our results indicate that there are combinations formed from the augmented developer contextual information that show statistically significant improvement over stand-alone approaches.

References

[1]
Agrawal, R. and Srikant, R., "Mining Sequential Patterns", in Proc. of 11th International Conference on Data Engineering, Taipei, Taiwan, March 1995.
[2]
Alali, A., Kagdi, H., and Maletic, J. I., "What's a Typical Commit? A Characterization of Open Source Software Repositories", in Proc. of 16th IEEE International Conference on Program Comprehension (ICPC'08), Amsterdam, The Netherlands, June 2008.
[3]
Anvik, J., Hiew, L., and Murphy, G. C., "Who should fix this bug?" in Proc. of 28th International Conference on Software Engineering (ICSE'06), 2006, pp. 361-370.
[4]
Basili, V. R., Caldiera, G., and Rombach., D. H., The Goal Question Metric Paradigm, John W & S, 1994.
[5]
Begel, A., Phang, K. Y., and Zimmermann, T., "Codebook: Discovering and Exploiting Relationships in Software Repositories", in Proc. of 32nd ACM/IEEE International Conference on Software Engineering (ICSE'10), 2010, pp. 125-134.
[6]
Binkley, D., Davis, M., Lawrie, D., and Morrell, C., "To CamelCase or Under_score", in Proc. of 17th IEEE International Conference on Program Comprehension (ICPC'09), May 17-19 2009, pp. 158-167.
[7]
Bohner, S. and Arnold, R., Software Change Impact Analysis, Los Alamitos, CA, IEEE CS, 1996.
[8]
Briand, L., Wust, J., and Louinis, H., "Using Coupling Measurement for Impact Analysis in Object-Oriented Systems", in Proc. of IEEE ICSM'99, August 30 - September 3, 1999, pp. 475-482.
[9]
Buckner, J., Buchta, J., Petrenko, M., and Rajlich, V., "JRipples: A Tool for Program Comprehension during Incremental Change", in Proc. of 13th IEEE International Workshop on Program Comprehension (IWPC'05), St. Louis, Missouri, USA, May 15-16 2005, pp. 149-152.
[10]
Canfora, G. and Cerulo, L., "Fine Grained Indexing of Software Repositories to Support Impact Analysis", in Proc. of International Workshop on Mining Software Repositories (MSR'06), 2006, pp. 105-111.
[11]
Collard, M. L., Kagdi, H. H., and Maletic, J. I., "An XML-Based Lightweight C++ Fact Extractor", in Proc. of 11th IEEE International Workshop on Program Comprehension (IWPC'03), Portland, OR, May 10-11 2003, pp. 134-143.
[12]
Cornelissen, B., Zaidman, A., van Deursen, A., Moonen, L., and Koschke, R., "A Systematic Survey of Program Comprehension through Dynamic Analysis", IEEE Transactions on Software Engineering (TSE), vol. 35, no. 5, 2009, pp. 684-702.
[13]
Di Lucca, G. A., Di Penta, M., and Gradara, S., "An Approach to Classify Software Maintenance Requests", in Proc. of IEEE International Conference on Software Maintenance (ICSM'02), Montréal, Québec, Canada, 2002, pp. 93-102.
[14]
Dit, B., Guerrouj, L., Poshyvanyk, D., and Antoniol, G., "Can Better Identifier Splitting Techniques Help Feature Location?" in Proc. of 19th IEEE International Conference on Program Comprehension (ICPC'11), Kingston, Ontario, Canada, June 22-24 2011, pp. 11-20.
[15]
Gall, H., Hajek, K., Jazayeri, M., "Detection of Logical Coupling Based on Product Release History", in Proc. of Proceedings of the International Conference on Software Maintenance (ICSM'98), March 16-19, pp. 190-198.
[16]
Hill, E., Pollock, L., and Vijay-Shanker, K., "Exploring the Neighborhood with Dora to Expedite Software Maintenance", in Proc. of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07), November 2007, pp. 14-23.
[17]
Jeong, G., Kim, S., and Zimmermann, T., "Improving Bug Triage with Bug Tossing Graphs", in Proc. of 7th European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2009), Amsterdam, The Netherlands, August 2009.
[18]
Kagdi, H., Collard, M. L., and Maletic, J. I., "A Survey and Taxonomy of Approaches for Mining Software Repositories in the Context of Software Evolution", Journal of Software Maintenance and Evolution: Research and Practice (JSME), vol. 19, no. 2, March/April 2007, pp. 77-131.
[19]
Kagdi, H., Gethers, M., Poshyvanyk, D., and Collard, M., "Blending Conceptual and Evolutionary Couplings to Support Change Impact Analysis in Source Code", in Proc. of 17th IEEE Working Conference on Reverse Engineering (WCRE'10), Beverly, Massachusetts, USA, October 13-16 2010, pp. 119-128.
[20]
Kagdi, H., Gethers, M., Poshyvanyk, D., and Hammad, M., "Assigning Change Requests to Software Developers", Journal of Software Maintenance and Evolution: Research and Practice (JSME) 2011.
[21]
Kagdi, H., Maletic, J. I., and Sharif, B., "Mining Software Repositories for Traceability Links", in Proc. of 15th IEEE International Conference on Program Comprehension (ICPC'07), Banff, Canada, June 26-29 2007, pp. 145-154.
[22]
Law, J. and Rothermel, G., "Whole Program Path-Based Dynamic Impact Analysis", in Proc. of 25th International Conference on Software Engineering, Portland, Oregon, May 03 - 10, 2003 2003, pp. 308-318.
[23]
Liu, D., Marcus, A., Poshyvanyk, D., and Rajlich, V., "Feature Location via Information Retrieval based Filtering of a Single Scenario Execution Trace", in Proc. of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07), Atlanta, Georgia, November 5-9 2007, pp. 234-243.
[24]
Maule, A., Emmerich, W., and Rosenblum, D. S., "Impact Analysis of Database Schema Changes", in Proc. of 30th IEEE/ACM Inernational Conference on Software Engineering (ICSE'08), Leipzig, Germany, 2008, pp. 451- 460.
[25]
Orso, A., Apiwattanapong, T., and Harrold, M. J., "Leveraging Field Data for Impact Analysis and Regression Testing", in Proc. of 9th European Software Engineering Conference and 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE'03), Helsinki, Finland, September 1-5 2003, pp. 128-137.
[26]
Orso, A., Apiwattanapong, T., Law, J., Rothermel, G., and Harrold, M. J., "An empirical comparison of dynamic impact analysis algorithms", in Proc. of IEEE/ACM International Conference on Software Engineering (ICSE'04), 2004, pp. 776-786.
[27]
Petrenko, M. and Rajlich, V., "Variable Granularity for Improving Precision of Impact Analysis", in Proc. of 17th IEEE International Conference on Program Comprehension (ICPC'09), Vancouver, Canada, pp. 10-19.
[28]
Poshyvanyk, D., Guéhéneuc, Y. G., Marcus, A., Antoniol, G., and Rajlich, V., "Feature Location using Probabilistic Ranking of Methods based on Execution Scenarios and Information Retrieval", IEEE Transactions on Software Engineering, vol. 33, no. 6, June 2007, pp. 420-432.
[29]
Poshyvanyk, D., Marcus, A., Ferenc, R., and Gyimóthy, T., "Using Information Retrieval based Coupling Measures for Impact Analysis", Empirical Software Engineering, vol. 14, no. 1, 2009, pp. 5-32.
[30]
Ren, X., Shah, F., Tip, F., Ryder, B. G., and Chesley, O., "Chianti: a Tool for Change Impact Analysis of Java Programs", in Proc. of 19th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications(OOPSLA '04), Vancouver, BC, Canada, 2004, pp. 432-448.
[31]
Robillard, M., "Automatic Generation of Suggestions for Program Investigation", in Proc. of Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Lisbon, Portugal, September 2005, pp. 11-20.
[32]
Salton, G. and McGill, M., Introduction to Modern Information Retrieval, New York, NY, USA, McGraw-Hill, 1986.
[33]
Wang, X., Zhang, L., Xie, T., Anvik, J., and Sun, J., "An Approach to Detecting Duplicate Bug Reports using Natural Language and Execution Information", in Proc. of 30th International Conference on Software Engineering (ICSE'08), Leipzig, Germany, May 10-18, pp. 461-470.
[34]
Weiss, C., Premraj, R., Zimmermann, T., and Zeller, A., "How Long Will It Take to Fix This Bug?" in Proc. of 4th IEEE International Workshop on Mining Software Repositories (MSR'07), Minneapolis, MN, 2007, pp. 1-8.
[35]
Zimmermann, T., Zeller, A., Weißgerber, P., and Diehl, S., "Mining Version Histories to Guide Software Changes", IEEE Transactions on Software Engineering, vol. 31, no. 6, 2005, pp. 429-445.

Cited By

View all
  • (2019)QADroid: regression event selection for Android applicationsProceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3293882.3330550(66-77)Online publication date: 10-Jul-2019
  • (2019)Understanding evolutionary coupling by fine-grained co-change relationship analysisProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00046(271-282)Online publication date: 25-May-2019
  • (2018)An Integrated Model for Information Retrieval Based Change Impact AnalysisScientific Programming10.1155/2018/59136342018(5)Online publication date: 1-Mar-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '12: Proceedings of the 34th International Conference on Software Engineering
June 2012
1657 pages
ISBN:9781467310673

Sponsors

Publisher

IEEE Press

Publication History

Published: 02 June 2012

Check for updates

Qualifiers

  • Article

Conference

ICSE '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2019)QADroid: regression event selection for Android applicationsProceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3293882.3330550(66-77)Online publication date: 10-Jul-2019
  • (2019)Understanding evolutionary coupling by fine-grained co-change relationship analysisProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00046(271-282)Online publication date: 25-May-2019
  • (2018)An Integrated Model for Information Retrieval Based Change Impact AnalysisScientific Programming10.1155/2018/59136342018(5)Online publication date: 1-Mar-2018
  • (2018)Detecting speech act types in developer question/answer conversations during bug repairProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236031(491-502)Online publication date: 26-Oct-2018
  • (2018)How do Android operating system updates impact apps?Proceedings of the 5th International Conference on Mobile Software Engineering and Systems10.1145/3197231.3197258(156-160)Online publication date: 27-May-2018
  • (2018)Prioritizing lingering bugsACM SIGSOFT Software Engineering Notes10.1145/3178315.317832643:1(1-6)Online publication date: 28-Mar-2018
  • (2018)A collaborative filtering recommender system for test case prioritization in web applicationsProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167299(1560-1567)Online publication date: 9-Apr-2018
  • (2018)Do code data sharing dependencies support an early prediction of software actual change impact set?Journal of Software: Evolution and Process10.1002/smr.196030:11Online publication date: 14-Nov-2018
  • (2017)Guidelines for utilizing change impact analysis when estimating effort in agile software developmentProceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering10.1145/3084226.3084284(252-257)Online publication date: 15-Jun-2017
  • (2017)Predicting the vector impact of changeProceedings of the 11th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement10.1109/ESEM.2017.20(131-140)Online publication date: 9-Nov-2017
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media