ABSTRACT
Versioned and bug-tracked software systems provide a huge amount of historical data regarding source code changes and issues management. In this paper we deal with impact analysis of a change request and show that data stored in software repositories are a good descriptor on how past change requests have been resolved. A fine grained analysis method of software repositories is used to index code at different levels of granularity, such as lines of code and source files, with free text contained in software repositories. The method exploits information retrieval algorithms to link the change request description and code entities impacted by similar past change requests. We evaluate such approach on a set of three open-source projects.
- G. Antoniol, G. Canfora, G. Casazza, A. D. Lucia, and E. Merlo. Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng., 28(10):970--983, 2002. Google ScholarDigital Library
- R. S. Arnold and S. A. Bohner. Impact analysis - towards a framework for comparison. In ICSM '93: Proceedings of the Conference on Software Maintenance, pages 292--301. IEEE Computer Society, 1993. Google ScholarDigital Library
- G. Canfora and L. Cerulo. Impact analysis by mining software and change request repositories. In METRICS '05: Proceedings of the 11th IEEE International Software Metrics Symposium. IEEE Computer Society, 2005. Google ScholarDigital Library
- 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 '01: Proceedings of 17th IEEE International Conference on Software Maintenance, page 364. IEEE Computer Society, 2001. Google ScholarDigital Library
- F. Crestani, M. Lalmas, C. J. V. Rijsbergen, and I. Campbell. Is this document relevant?..probably: a survey of probabilistic models in information retrieval. ACM Comput. Surv., 30(4):528--552, 1998. Google ScholarDigital Library
- M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In ICSM '03: Proceedings of 19th IEEE International Conferenceon Software Maintenance, Amsterdam, Netherlands, Sept. 2003. IEEE Computer Society. Google ScholarDigital Library
- K. Fogel and M. Bar. Cross-Validatory Choice and Assessment of Statistical Predictions (with Discussion), volume 36.J. the Royal Statistical Soc., 1974.Google Scholar
- K. Fogel and M. Bar.Open Source Development with CVS. Coriolis, 2001. Google ScholarDigital Library
- A. E. Hassan and R. C. Holt. Predicting change propagation in software systems. In ICSM '04: Proceedings of the 20th IEEE International Conference on Software Maintenance, pages 284--293, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- K. S. Jones, S. Walker, and S. E. Robertson. A probabilistic model of information retrieval: development and comparative experiments. Inf. Process. Manage., 36(6):779--808, 2000. Google ScholarDigital Library
- M. Kamkar. An overview and comparative classification of program slicing techniques. J. Syst. Softw., 31(3):197--214, 1995. Google ScholarDigital Library
- M. Lindvall and K. Sandahl. How well do experienced software developers predict software change? J. Syst. Softw., 43(1):19--27, 1998. Google ScholarDigital Library
- W. Miller and E. W. Myers. A file comparison program. Software Practice and Experience, 15(11):1025--1040, 1985.Google ScholarCross Ref
- M. Ohba and K. Gondow. Toward mining "concept keywords" from identifiers in large software projects. In IEEE 27th International Conference on Software Engineering - The 2nd International Workshop on Mining Software Repositories, pages 1--5, New York, NY, USA, 2005. ACM Press. Google ScholarDigital Library
- S. L. Pfleeger. Software Engineering: Theory and Practice. Prentice-Hall, Upper Saddle River, NJ, 1998. Google ScholarDigital Library
- M. F. Porter. An algorithm for suffix stripping. Morgan Kaufmann Publishers Inc., 1997.Google Scholar
- B. Ribeiro-neto and Baeza-yates. Modern Information Retrieval. Addison Wesley, 1999. Google ScholarDigital Library
- A. T. T. Ying, G. C. Murphy, R. Ng, and M. C. Chu-Carroll. Predicting source code changes by mining revision history. IEEE Transactions on Software Engineering, 30:574--586, Sept.2004. Google ScholarDigital Library
- A. T. T. Ying, J. L. Wright, and S. Abrams. Source code that talks: an exploration of eclipse task comments and their implication to repository mining. In IEEE 27th International Conference on Software Engineering - The 2nd International Workshop on Mining Software Repositories, pages 1--5, New York, NY, USA, 2005. ACM Press. Google ScholarDigital Library
- T. Zimmermann, P. Weisgerber, S. Diehl, and A. Zeller. Mining version histories to guide software changes. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 563--572. IEEE Computer Society, 2004. Google ScholarDigital Library
- T. Zimmermann and P. Weißgerber. Preprocessing CVS data for fine-grained analysis. In IEEE 26th International Conference on Software Engineering - The 1st International Workshop on Mining Software Repositories, pages 2--6,2004.Google ScholarCross Ref
Index Terms
- Fine grained indexing of software repositories to support impact analysis
Recommendations
Where is bug resolution knowledge stored?
MSR '06: Proceedings of the 2006 international workshop on Mining software repositoriesArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A common practice is to reference source code changes resolving a bug stored in Bugzilla by inserting the id number of the bug in the CVS commit notes. This ...
A Software Model for Impact Analysis: A Validation Experiment
WCRE '99: Proceedings of the Sixth Working Conference on Reverse EngineeringImpact analysis is the process of identifying software work-products that may be affected by proposed changes. This requires a software representation model that can formalize the knowledge about the various dependencies between work-products.This study ...
Process mining software repositories from student projects in an undergraduate software engineering course
ICSE Companion 2014: Companion Proceedings of the 36th International Conference on Software EngineeringAn undergraduate level Software Engineering courses generally consists of a team-based semester long project and emphasizes on both technical and managerial skills. Software Engineering is a practice-oriented and applied discipline and hence there is ...
Comments