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

skip to main content
10.1145/1512475.1512493acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
research-article

Towards a more efficient static software change impact analysis method

Published: 09 November 2008 Publication History

Abstract

Impact analysis methods are commonly employed to reduce the likelihood of encountering faulty or unexpected behavior from a software program as a result of developers' oblivious modifications. In this paper, we propose a static impact analysis technique that creates clusters of closely associated software program files based on their co-modification history in the software repository. The proposed method benefits from dimensionality reduction techniques to reduce the complexity of the collected information and perform the impact analysis process faster. The method has been tested on four different open source project repositories, namely Firefox, Firebird, Thunderbird, and FileZilla. The results of the impact analysis method performance in terms of precision (impact set identification accuracy) and execution time cost have been reported in this paper. The proposed method shows promising behavior when used with several specific clustering techniques such as DBscan and X-Means.

References

[1]
Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold. Efficient and precise dynamic impact analysis using execute-after sequences. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 432--441, New York, NY, USA, 2005. ACM.
[2]
Robert S. Arnold. Software Change Impact Analysis. IEEE Computer Society Press, Los Alamitos, CA, USA, 1996.
[3]
P. S. Bradley, U. Fayyad, and C. Reina. Scaling EM (Expectation-Maximization) Clustering to Large Databases. Microsoft Research Report, MSR-TR-98-35, Aug, 1998.
[4]
Ben Breech, Mike Tegtmeyer, and Lori Pollock. A comparison of online and dynamic impact analysis algorithms. In CSMR '05: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering, pages 143--152, Washington, DC, USA, 2005. IEEE Computer Society.
[5]
Songcan Chen and Yulian Zhu. Subpattern-based principle component analysis. Pattern Recognition, 37(5):1081--1083, 2004.
[6]
M. Ester, H. P. Kriegel, J. Sander, and X. Xu. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pages 226--231, 1996.
[7]
Beat Fluri, Harald C. Gall, and Martin Pinzger. Fine-grained analysis of change couplings. In SCAM '05: Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation, pages 66--74, Washington, DC, USA, 2005. IEEE Computer Society.
[8]
Harald Gall, Karin Hajek, and Mehdi Jazayeri. Detection of logical coupling based on product release history. In ICSM '98: Proceedings of the International Conference on Software Maintenance, page 190, Washington, DC, USA, 1998. IEEE Computer Society.
[9]
Harald Gall, Mehdi Jazayeri, and Jacek Krajewski. Cvs release history data for detecting logical couplings. In IWPSE '03: Proceedings of the 6th International Workshop on Principles of Software Evolution, page 13, Washington, DC, USA, 2003. IEEE Computer Society.
[10]
JA Hartigan and MA Wong. A K-means clustering algorithm. JR Stat. Soc., Ser. C, 28:100--108, 1979.
[11]
G. Holmes, A. Donkin, and I. H. Witten. Weka: a machine learning workbench. Intelligent Information Systems, 1994. Proceedings of the 1994 Second Australian and New Zealand Conference on, pages 357--361, Nov-2 Dec 1994.
[12]
Lulu Huang and Yeong-Tae Song. Dynamic impact analysis using execution profile tracing. In SERA '06: Proceedings of the Fourth International Conference on Software Engineering Research, Management and Applications, pages 237--244, Washington, DC, USA, 2006. IEEE Computer Society.
[13]
Huzefa Kagdi, Jonathan I. Maletic, and Bonita Sharif. Mining software repositories for traceability links. In ICPC '07: Proceedings of the 15th IEEE International Conference on Program Comprehension, pages 145--154, Washington, DC, USA, 2007. IEEE Computer Society.
[14]
Huzefa Kagdi, Shehnaaz Yusuf, and Jonathan I. Maletic. Mining sequences of changed-files from version histories. In MSR '06: Proceedings of the 2006 international workshop on Mining software repositories, pages 47--53, New York, NY, USA, 2006. ACM.
[15]
James Law and Gregg Rothermel. Incremental dynamic impact analysis for evolving software systems. In ISSRE '03: Proceedings of the 14th International Symposium on Software Reliability Engineering, page 430, Washington, DC, USA, 2003. IEEE Computer Society.
[16]
Alessandro Orso, Taweesup Apiwattanapong, and Mary Jean Harrold. Leveraging field data for impact analysis and regression testing. In ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, pages 128--137, New York, NY, USA, 2003. ACM.
[17]
Alessandro Orso, Taweesup Apiwattanapong, James Law, Gregg Rothermel, and Mary Jean Harrold. An empirical comparison of dynamic impact analysis algorithms. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 491--500, Washington, DC, USA, 2004. IEEE Computer Society.
[18]
D. Pelleg and A. Moore. X-means: Extending K-means with efficient estimation of the number of clusters. Proceedings of the Seventeenth International Conference on Machine Learning, pages 727--734, 1929.
[19]
Xiaoxia Ren, Barbara G. Ryder, Maximilian Stoerzer, and Frank Tip. Chianti: a change impact analysis tool for java programs. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 664--665, New York, NY, USA, 2005. ACM.
[20]
Mark Sherriff and Laurie Williams. Empirical software change impact analysis using singular value decomposition. First International Conference on Software Testing, Verification, and Validation, 0:268--277, 2008.
[21]
Jianbo Shi and J. Malik. Normalized cuts and image segmentation. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 22(8):888--905, Aug 2000.
[22]
L. J. P. van der Maaten, E. O. Postma, and H. J. van den Herik. Dimensionality reduction: A comparative review. 2007.
[23]
Annie T. T. Ying, Raymond Ng, and Mark C. Chu-Carroll. Predicting source code changes by mining change history. IEEE Trans. Softw. Eng., 30(9):574--586, 2004. Member-Gail C. Murphy.
[24]
Thomas Zimmermann, Member-Andreas Zeller, Peter Weissgerber, and Stephan Diehl. Mining version histories to guide software changes. IEEE Trans. Softw. Eng., 31(6):429--445, 2005.

Cited By

View all
  • (2024)Enhancing Code Understanding for Impact Analysis by Combining Transformers and Program Dependence GraphsProceedings of the ACM on Software Engineering10.1145/36437701:FSE(972-995)Online publication date: 12-Jul-2024
  • (2024)CodePlan: Repository-Level Coding using LLMs and PlanningProceedings of the ACM on Software Engineering10.1145/36437571:FSE(675-698)Online publication date: 12-Jul-2024
  • (2022)Predicting Software Maintenance Type, Change Impact, and Maintenance Time Using Machine Learning Algorithms2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA)10.1109/ICT4DA56482.2022.9971350(37-41)Online publication date: 28-Nov-2022
  • Show More Cited By
  1. Towards a more efficient static software change impact analysis method

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PASTE '08: Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
    November 2008
    92 pages
    ISBN:9781605583822
    DOI:10.1145/1512475
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 November 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Conference

    PASTE08

    Acceptance Rates

    Overall Acceptance Rate 57 of 159 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)17
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 20 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Enhancing Code Understanding for Impact Analysis by Combining Transformers and Program Dependence GraphsProceedings of the ACM on Software Engineering10.1145/36437701:FSE(972-995)Online publication date: 12-Jul-2024
    • (2024)CodePlan: Repository-Level Coding using LLMs and PlanningProceedings of the ACM on Software Engineering10.1145/36437571:FSE(675-698)Online publication date: 12-Jul-2024
    • (2022)Predicting Software Maintenance Type, Change Impact, and Maintenance Time Using Machine Learning Algorithms2022 International Conference on Information and Communication Technology for Development for Africa (ICT4DA)10.1109/ICT4DA56482.2022.9971350(37-41)Online publication date: 28-Nov-2022
    • (2020)Software Defect Categorization based on Maintenance Effort and Change Impact using Multinomial Naïve Bayes Algorithm2020 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO48877.2020.9198037(1068-1073)Online publication date: Jun-2020
    • (2019)Supporting software evolution through feedback on executing/skipping energy tests for proposed source code changesJournal of Software: Evolution and Process10.1002/smr.2155(e2155)Online publication date: 20-Feb-2019
    • (2018)An Integrated Model for Information Retrieval Based Change Impact AnalysisScientific Programming10.1155/2018/59136342018(5)Online publication date: 1-Mar-2018
    • (2018)[Research Paper] The Case for Adaptive Change Recommendation2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM.2018.00022(129-138)Online publication date: Sep-2018
    • (2018)BLIMP Tracer: Integrating Build Impact Analysis with Code Review2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2018.00078(685-694)Online publication date: Sep-2018
    • (2018)Traceability Management with Impact Analysis in DevOps based Software Development2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI)10.1109/ICACCI.2018.8554399(1956-1962)Online publication date: Sep-2018
    • (2018)What are the effects of history length and age on mining software change impact?Empirical Software Engineering10.1007/s10664-017-9588-z23:4(2362-2397)Online publication date: 1-Aug-2018
    • Show More Cited By

    View Options

    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