ABSTRACT
In this paper, we present a new construct, called Transitive Changeset, that can be used for feature location. Transitive Changesets are created by extending changesets from revision control systems with additional information. A changeset temporally associate changes and conceptual descriptions provided in a commit transaction. By following transitive relationships from these changesets, we can create a Transitive Changeset that relates concepts in the problem domain to a list of program elements that enclose changes made in the transaction and other relevant program elements. We have implemented a prototype Eclipse plug-in, Kayley, to create Transitive Changesets.
- ]]T. J. Biggerstaff, B. G. Mitbander, and D. Webster, "The concept assignment problem in program understanding," in Proceedings of the 15th International Conference on Software Engineering Baltimore, Maryland, 1993, pp. 482--498. Google ScholarDigital Library
- ]]G. Canfora and L. Cerulo, "How crosscutting concerns evolve in JHotDraw," in Proceedings of the 13th International Workshop on Software Technology and Engineering Practice, 2005, pp. 65--73. Google ScholarDigital Library
- ]]A. Chen, E. Chou, J. Wong, A. Y. Yao, Z. Qing, Z. Shao, and A. Michail, "CVSSearch: searching through source code using CVS comments," in Proceedings of IEEE International Conference on Software Maintenance, 2001, pp. 364--373. Google ScholarDigital Library
- ]]D. Cubranic and G. C. Murphy, "Hipikat: recommending pertinent software development artifacts," in Proceedings of the 25th International Conference on Software Engineering Portland, Oregon, 2003, pp. 408--418. Google ScholarDigital Library
- ]]M. Eaddy, A. Aho, and G. C. Murphy, "Identifying, assigning, and quantifying crosscutting concerns," in Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques, 2007, p. 2. Google ScholarDigital Library
- ]]G. Fischer, S. Henninger, and D. Redmiles, "Cognitive tools for locating and comprehending software objects for reuse," in Proceedings of the 13th International Conference on Software Engineering Austin, Texas, 1991, pp. 318--328. Google ScholarDigital Library
- ]]C. Mike, User Stories Applied: For Agile Software Development: Addison Wesley Longman Publishing Co., Inc., 2004. Google ScholarDigital Library
- ]]V. Rajlich and N. Wilde, "The role of concepts in program comprehension," in Proceedings of the 10th International Workshop on Program Comprehension, 2002, pp. 271--278. Google ScholarDigital Library
- ]]J. Singer, T. Lethbridge, N. Vinson, and N. Anquetil, "An examination of software engineering work practices," in Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research Toronto, Ontario, Canada, 1997, p. 21. Google ScholarDigital Library
- ]]W. Zhao, L. Zhang, Y. Liu, J. Sun, and F. Yang, "SNIAFL: Towards a static noninteractive approach to feature location," ACM Transactions on Software Engineering Methodology, vol. 15, pp. 195--226, 2006. Google ScholarDigital Library
Index Terms
- Using transitive changesets to support feature location
Recommendations
Feature Location Using Data Mining on Existing Test-Cases
WCRE '12: Proceedings of the 2012 19th Working Conference on Reverse EngineeringFeature location is the mapping of features onto static artifacts such as source code and configuration files. Recent effective feature location methods use dynamic-analysis and scenarios, i.e. executable use-cases that represent features in source ...
A Framework for Source Code Search Using Program Patterns
For maintainers involved in understanding and reengineering large software, locating source code fragments that match certain patterns is a critical task. Existing solutions to the problem are few, and they either involve manual, painstaking scans of ...
Feature location using crowd-based screencasts
MSR '18: Proceedings of the 15th International Conference on Mining Software RepositoriesCrowd-based multi-media documents such as screencasts have emerged as a source for documenting requirements of agile software projects. For example, screencasts can describe buggy scenarios of a software product, or present new features in an upcoming ...
Comments