[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/998675.999460acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Mining Version Histories to Guide Software Changes

Published: 23 May 2004 Publication History

Abstract

We apply data mining to version histories in order to guide programmers along related changes: "Programmers who changed these functions also changed. . . ". Given a set of existing changes, such rules (a) suggest and predict likely further changes, (b) show up item coupling that is in detectable by program analysis, and (c) prevent errors due to incomplete changes. After an initial change, our ROSE prototype can correctly predict 26% of further files to be changed and 15% of the precise functions or variables.The topmost three suggestions contain a correct location with a likelihood of 64%.

References

[1]
{1} R. Agrawal and R. Srikant. Fast algorithms for mining association rules. In Proceedings of the 20th Very Large Data Bases Conference (VLDB), pages 487-499. Morgan Kaufmann, 1994.
[2]
{2} D. L. Atkins. Version sensitive editing: Change history as a programming tool. In B. Magnusson, editor, Proceedings of System Configuration Management SCM '98, volume 1439 of LNCS, pages 146-157. Springer-Verlag, 1998.
[3]
{3} T. Ball, J.-M. Kim, A. A. Porter, and H. P. Siy. If your version control system could talk. In ICSE Workshop on Process Modelling and Empirical Studies of Software Engineering, 1997.
[4]
{4} J. M. Bieman, A. A. Andrews, and H. J. Yang. Understanding change-proneness in OO software through visualization. In Proc. 11th International Workshop on Program Comprehension, pages 44-53, Portland, Oregon, May 2003.
[5]
{5} A. Chen, E. Chou, J. Wong, A. Y. Yao, Q. Zhang, S. Zhang, and A. Michail. CVSSearch: searching through source code using CVS comments. In ICSM 2001 {14}, pages 364-374.
[6]
{6} D. Cubrani¿ and G. C. Murphy. Hipikat: Recommending pertinent software development artifacts. In ICSE 2003 {13}, pages 408-418.
[7]
{7} K. Fogel and M. O'Neill. cvs2cl.pl: CVS-log-message-to-ChangeLog conversion script, Sept. 2002. http://www.redbean.com/cvs2cl/.
[8]
{8} H. Gall, K. Hajek, and M. Jazayeri. Detection of logical coupling based on product release history. In Proc. International Conference on Software Maintenance (ICSM '98), pages 190-198, Washington D. C., USA, Nov. 1998. IEEE.
[9]
{9} H. Gall, M. Jazayeri, R. Klösch, and G. Trausmuth. Software Evolution Observations based on Product Release History. In Proceedings of International Conference on Software Maintenance (ICSM '97), pages 160-196, 1997.
[10]
{10} H. Gall, M. Jazayeri, and J. Krajewski. CVS release history data for detecting logical couplings. In IWPSE 2003 {15}, pages 13-23.
[11]
{11} T. L. Graves, A. F. Karr, J. S. Marron, and H. Siy. Predicting fault incidence using software change history. IEEE Transactions on Software Engineering, 26(7), 2000.
[12]
{12} A. E. Hassan and R. Holt. The chaos of software development. In IWPSE 2003 {15}.
[13]
{13} Proc. 25th International Conference on Software Engineering (ICSE), Portland, Oregon, May 2003.
[14]
{14} Proc. International Conference on Software Maintenance (ICSM 2001), Florence, Italy, Nov. 2001. IEEE.
[15]
{15} Proc. International Workshop on Principles of Software Evolution (IWPSE 2003), Helsinki, Finland, Sept. 2003. IEEE Press.
[16]
{16} A. Michail. Data mining library reuse patterns in user-selected applications. In Proc. 14th International Conference on Automated Software Engineering (ASE'99), pages 24-33, Cocoa Beach, Florida, USA, Oct. 1999. IEEE Press.
[17]
{17} A. Michail. Data mining library reuse patterns using generalized association rules. In International Conference on Software Engineering , pages 167-176, 2000.
[18]
{18} A. Mockus and L. G. Votta. Identifying reasons for software changes using historic databases. In Proc. International Conference on Software Maintenance (ICSM 2000), pages 120-130, San Jose, California, USA, Oct. 2000. IEEE.
[19]
{19} A. Mockus, D. M. Weiss, and P. Zhang. Understanding and predicting effort in software projects. In ICSE 2003 {13}, pages 274-284.
[20]
{20} C. J. V. Rijsbergen. Information Retrieval, 2nd edition. Butterworths, London, 1979.
[21]
{21} J. Sayyad-Shirabad, T. C. Lethbridge, and S. Matwin. Supporting maintainance of legacy software with data mining techniques. In ICSM 2001 {14}, pages 22-31.
[22]
{22} J. Sayyad-Shirabad, T. C. Lethbridge, and S. Matwin. Mining the maintenance history of a legacy software system. In Proc. International Conference on Software Maintenance (ICSM 2003), Amsterdam, Netherlands, Sept. 2003. IEEE.
[23]
{23} R. Srikant and R. Agrawal. Mining generalized association rules. In Proceedings of the 21th Very Large Data Bases Conference (VLDB), pages 407-419, 1995.
[24]
{24} R. Srikant, Q. Vu, and R. Agrawal. Mining association rules with item constraints. In Proceedings of the 3rd International Conference on KDD and Data Mining (KDD '97), Newport Beach, California, USA, Aug. 1997.
[25]
{25} A. T. T. Ying. Predicting source code changes by mining revision history. Master's thesis, University of British Columbia, Canada, Oct. 2003.
[26]
{26} A. Zeller and R. Hildebrandt. Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering, 28(2): 183-200, Feb. 2002.
[27]
{27} T. Zimmermann, S. Diehl, and A. Zeller. How history justifies system architecture (or not). In IWPSE 2003 {15}, pages 73-83.
[28]
{28} T. Zimmermann and P. Weißgerber. Preprocessing CVS data for fine-grained analysis. Technical report, Saarland University, Mar. 2004. Submitted for publication.

Cited By

View all
  • (2023)How the Quality of Maintenance Tasks is Affected by Criteria for Selecting Engineers for CollaborationACM Transactions on Software Engineering and Methodology10.1145/356138432:3(1-22)Online publication date: 26-Apr-2023
  • (2022)An approach for the forecasting of the maintainability of system functionalitiesProceedings of the 2022 European Symposium on Software Engineering10.1145/3571697.3571702(33-42)Online publication date: 27-Oct-2022
  • (2022)Bug localization in game software engineeringProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552440(356-366)Online publication date: 23-Oct-2022
  • 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 '04: Proceedings of the 26th International Conference on Software Engineering
May 2004
761 pages
ISBN:0769521630

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 23 May 2004

Check for updates

Qualifiers

  • Article

Conference

ICSE04
Sponsor:

Acceptance Rates

ICSE '04 Paper Acceptance Rate 58 of 436 submissions, 13%;
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)11
  • Downloads (Last 6 weeks)1
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)How the Quality of Maintenance Tasks is Affected by Criteria for Selecting Engineers for CollaborationACM Transactions on Software Engineering and Methodology10.1145/356138432:3(1-22)Online publication date: 26-Apr-2023
  • (2022)An approach for the forecasting of the maintainability of system functionalitiesProceedings of the 2022 European Symposium on Software Engineering10.1145/3571697.3571702(33-42)Online publication date: 27-Oct-2022
  • (2022)Bug localization in game software engineeringProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552440(356-366)Online publication date: 23-Oct-2022
  • (2021)Bug Localization in Model-Based Systems in the WildACM Transactions on Software Engineering and Methodology10.1145/347261631:1(1-32)Online publication date: 26-Oct-2021
  • (2021)DIFFBASE: a differential factbase for effective software evolution managementProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468605(503-515)Online publication date: 20-Aug-2021
  • (2021)Designing for Recommending Intermediate States in A Scientific Workflow Management SystemProceedings of the ACM on Human-Computer Interaction10.1145/34571455:EICS(1-29)Online publication date: 29-May-2021
  • (2021)CodeShovelProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00135(1510-1522)Online publication date: 22-May-2021
  • (2021)Effectively analyzing evolving software with differential factsProceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE51524.2021.9678659(1064-1068)Online publication date: 15-Nov-2021
  • (2020)RexProceedings of the 17th Usenix Conference on Networked Systems Design and Implementation10.5555/3388242.3388274(435-448)Online publication date: 25-Feb-2020
  • (2020)What causes merge conflicts?Proceedings of the XXXIV Brazilian Symposium on Software Engineering10.1145/3422392.3422440(203-212)Online publication date: 21-Oct-2020
  • 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