ABSTRACT
One of the main challenges faced by today's developers is keeping up with the staggering amount of source code that needs to be read and understood. In order to help developers with this problem and reduce the costs associated with it, one solution is to use simple textual descriptions of source code entities that developers can grasp easily, while capturing the code semantics precisely. We propose an approach to automatically determine such descriptions, based on automated text summarization technology.
- Corbi, T. A., "Program Understanding: Challenge For The 1990s", IBM Systems Journal, 28, 2, 1989, pp. 294--307. Google ScholarDigital Library
- Kireyev, K., "Using Latent Semantic Analysis for Extractive Summarization", in Proc. of Text Analysis Conference, 2008.Google Scholar
- Ko, A. J., Myers, B. A., Coblenz, M. J., and Aung, H. H., "An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks", IEEE Transactions on Software Engineering, 32, 12, 2006, pp. 971--987. Google ScholarDigital Library
- Kuhn, A., Ducasse, S., and Girba, T., "Semantic Clustering: Identifying Topics in Source Code", Information and Software Technology, 49, 3, 2007, pp. 230--243. Google ScholarDigital Library
- Landauer, T., Foltz, P., and Laham, D., "An Introduction to Latent Semantic Analysis", Discourse Processes, 25, 2&3, 1998, pp. 259--284.Google ScholarCross Ref
- Murphy, G., Lightweight Structural Summarization as an Aid to Software Evolution, University of Washington, PhD Thesis, 1996. Google ScholarDigital Library
- Nenkova, A. and Passonneau, R., "Evaluating Content Selection in Summarization: The Pyramid Method", in Proc. North American Chapter of the Assoc. for Computational Linguistics - Human Language Technologies, 2004.Google Scholar
- Poshyvanyk, D. and Marcus, A., "Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code", in Proc. International Conference on Program Comprehension, 2007, pp. 37--46. Google ScholarDigital Library
- Sparck-Jones, K., "Automatic summarising: The state of the art", Information Processing and Management: An International Journal, 43, 6, 2007, pp. 1449--1481. Google ScholarDigital Library
- Starke, J., Luce, C., and Sillito, J., "Searching and Skimming: An Exploratory Study", in Proc. International Conference on Software Maintenance, 2009, pp. 157--166.Google ScholarCross Ref
- Steinberger, J. and Ježek, K., "Update Summarization Based on Latent Semantic Analysis", in Text, Speech and Dialogue, Springer Berlin / Heidelberg, 2009. Google ScholarDigital Library
- Storey, M. A., Cheng, L. T., Bull, I., and Rigby, P., "Shared Waypoints and Social Tagging to Support Collaboration in Software Development", in Proc. Computer Supported Collaborative Work, 2006. Google ScholarDigital Library
Index Terms
Supporting program comprehension with source code summarization
Recommendations
CODES: mining source code descriptions from developers discussions
ICPC 2014: Proceedings of the 22nd International Conference on Program ComprehensionProgram comprehension is a crucial activity, preliminary to any software maintenance task. Such an activity can be difficult when the source code is not adequately documented, or the documentation is outdated. Differently from the many existing ...
Improving automated source code summarization via an eye-tracking study of programmers
ICSE 2014: Proceedings of the 36th International Conference on Software EngineeringSource Code Summarization is an emerging technology for automatically generating brief descriptions of code. Current summarization techniques work by selecting a subset of the statements and keywords from the code, and then including information from ...
Supporting program comprehension by generating abstract code summary tree
ICSE-NIER '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: New Ideas and Emerging ResultsReading through code, finding relevant methods, classes and files takes a significant portion of software development time. Having good tool support for this code browsing activity can reduce human effort and increase overall developer productivity. To ...
Comments