ABSTRACT
Mining of software repositories has become an active research area. However, most past research considered any change to software as beneficial. This thesis will show how we can benefit from a classification into good and bad changes. The knowledge of bad changes will improve defect prediction and localization. Furthermore, we will describe how to learn project-specific error patterns that will help reducing future errors.
- 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. Google ScholarDigital Library
- J. Bevan and J. Whitehead. Identification of software instabilities. In Proc. 10th Working Conference on Reverse Engineering (WCRE 2003), pages 134--143, Victoria, British Columbia, Canada, Nov. 2003. IEEE. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- D. Čubranić and G. C. Murphy. Hipikat: Recommending pertinent software development artifacts. In Proc. 25th International Conference on Software Engineering (ICSE), pages 408--418, Portland, Oregon, May 2003. Google ScholarDigital Library
- D. R. Engler, D. Y. Chen, and A. Chou. Bugs as deviant behavior: A general approach to inferring errors in systems code. In Symposium on Operating Systems Principles, pages 57--72, 2001. Google ScholarDigital Library
- M. Fischer, M. Pinzger, and H. Gall. Populating a release history database from version control and bug tracking systems. In Proc. International Conference on Software Maintenance (ICSM), Amsterdam, Netherlands, Sept. 2003. IEEE. Google ScholarDigital Library
- H. Gall, M. Jazayeri, and J. Krajewski. CVS release history data for detecting logical couplings. In Proc. International Workshop on Principles of Software Evolution (IWPSE 2003), pages 13--23, Helsinki, Finland, Sept. 2003. Google ScholarDigital Library
- S. Hallem, B. Chelf, Y. Xie, and D. Engler. A system and language for building system-specific, static analyses. In Proceedings of the Conference on Programming Language Design and Implementation, pages 69--82, Berlin, Germany, 2002. Google ScholarDigital Library
- Z. Li and Y. Zhou. PR-Miner: Automatically extracting implicit programming rules and detecting violations in large software code. In Proceedings of European Software Engineering Conference/ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 306--315, New York, NY, USA, 2005. ACM Press. Google ScholarDigital Library
- V. B. Livshits and T. Zimmermann. Dynamine: Finding common error patterns by mining software revision histories. In Proc. Joint European Software Engineering Conference (ESEC) and ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pages 296--305, Lisbon, Portugal, Sept. 2005. Google ScholarDigital Library
- A. Mockus and L. G. Votta. Identifying reasons for software changes using historic databases. In Proc. International Conference on Software Maintenance (ICSM), pages 120--130, San Jose, California, USA, Oct. 2000. IEEE. Google ScholarDigital Library
- A. Mockus and D. M. Weiss. Predicting risk of software changes. Bell Labs Technical Journal, 5(2):169--180, April--June 2000.Google ScholarCross Ref
- NASA. Metrics Data Programsloppy. http://mdp.ivv.nasa.gov/index.html.Google Scholar
- T. J. Ostrand, E. J. Weyuker, and R. M. Bell. Predicting the location and number of faults in large software systems. IEEE Transactions on Software Engineering, 31(4):340--355, 2005. Google ScholarDigital Library
- A. Kershenbaum, and L. Koved. SABER: Smart Analysis Based Error Reduction. In Proceedings of the International Symposium on Software Testing and Analysis, pages 243--251, Boston, MA, July 2004. Google ScholarDigital Library
- X. Ren, F. Shah, F. Tip, B. G. Ryder, and O. Chesley. Chianti: A tool for change impact analysis of Java programs. In J. M. Vlissides and D. C. Schmidt, editors, OOPSLA, pages 432--448. ACM, 2004. Google ScholarDigital Library
- D. Saff and M. D. Ernst. Reducing wasted development time via continuous testing. In International Symposium on Software Reliability Engineering (ISSRE), pages 281--292. IEEE Computer Society, 2003. Google ScholarDigital Library
- J. Śliwerski, T. Zimmermann, and A. Zeller. When do changes induce fixes? On Fridays. In Proc. International Workshop on Mining Software Repositories (MSR), St. Louis, Missouri, USA, May 2005. Google ScholarDigital Library
- A. T. Ying, G. C. Murphy, R. Ng, and M. C. Chu-Carroll. Predicting source code changes by mining change history. IEEE Transactions on Software Engineering, 30(9):574--586, Sept. 2004. Google ScholarDigital Library
- A. Zeller. Yesterday, my program worked. Today, it does not. Why? In Proc. of Joint European Software Engineering Conference (ESEC) and ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pages 253--267. Springer Verlag, 1999. Google ScholarDigital Library
- T. Zimmermann, S. Diehl, and A. Zeller. How history justifies system architecture (or not). In Proc. International Workshop on Principles of Software Evolution (IWPSE 2003), pages 73--83, Helsinki, Finland, Sept. 2003. Google ScholarDigital Library
- T. Zimmermann, J. Śliwerski, and A. Zeller. Locating the risk of change. Technical report, Saarland University, 2006.Google Scholar
- T. Zimmermann, P. Weissgerber, S. Diehl, and A. Zeller. Mining version histories to guide software changes. IEEE Transactions on Software Engineering, 31(6):429--445, June 2005. Google ScholarDigital Library
Index Terms
- Taking lessons from history
Recommendations
Leverage Your Lessons
In today's fast-moving market, software project teams don't have time to make several attempts to meet a customer's requirements. Teams need to be smart about what they do learning from the experiences of colleagues within their own organization and in ...
Software process management: lessons learned from history
ICSE '87: Proceedings of the 9th international conference on Software EngineeringRegarding history, George Santayana once said, “Those who cannot remember the past are condemned to repeat it.”
I have always been dissatisfied with that statement. It is too negative. History has positive experiences too. They are the ones we would like ...
Alloyed branch history: combining global and local branch history for robust performance
This paper introduces alloyed prediction, a new hardware-based two-level branch predictor organization that combines global and local history in the same structure, combining the advantages of current two-level predictors with those of hybrid ...
Comments