当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
How to identify class comment types? A multi-language approach for class comment classification
Journal of Systems and Software ( IF 3.5 ) Pub Date : 2021-07-19 , DOI: 10.1016/j.jss.2021.111047
Pooja Rani 1 , Sebastiano Panichella 2 , Manuel Leuenberger 1 , Andrea Di Sorbo 3 , Oscar Nierstrasz 1
Affiliation  

Most software maintenance and evolution tasks require developers to understand the source code of their software systems. Software developers usually inspect class comments to gain knowledge about program behavior, regardless of the programming language they are using. Unfortunately, (i) different programming languages present language-specific code commenting notations and guidelines; and (ii) the source code of software projects often lacks comments that adequately describe the class behavior, which complicates program comprehension and evolution activities. To handle these challenges, this paper investigates the different language-specific class commenting practices of three programming languages: Python, Java, and Smalltalk. In particular, we systematically analyze the similarities and differences of the information types found in class comments of projects developed in these languages. We propose an approach that leverages two techniques – namely Natural Language Processing and Text Analysis – to automatically identify class comment types, i.e., the specific types of semantic information found in class comments. To the best of our knowledge, no previous work has provided a comprehensive taxonomy of class comment types for these three programming languages with the help of a common automated approach. Our results confirm that our approach can classify frequent class comment information types with high accuracy for the Python, Java, and Smalltalk programming languages. We believe this work can help in monitoring and assessing the quality and evolution of code comments in different programming languages, and thus support maintenance and evolution tasks.



中文翻译:

如何识别课堂评论类型?一种多语言的课堂评论分类方法

大多数软件维护和演进任务都要求开发人员了解其软件系统的源代码。软件开发人员通常会检查类注释以获取有关程序行为的知识,而不管他们使用的是哪种编程语言。不幸的是,(i) 不同的编程语言呈现了特定于语言的代码注释符号和指南;(ii) 软件项目的源代码往往缺乏充分描述类行为的注释,这使得程序理解和演化活动复杂化。为了应对这些挑战,本文研究了 Python、Java 和 Smalltalk 这三种编程语言的不同语言特定类注释实践。特别是,我们系统地分析了在这些语言开发的项目的课堂评论中发现的信息类型的异同。我们提出了一种利用两种技术的方法—— 即自然语言处理和文本分析—— 自动识别课堂评论类型,即课堂评论中发现的特定语义信息类型。据我们所知,以前的工作还没有在通用自动化方法的帮助下为这三种编程语言提供类注释类型的综合分类法。我们的结果证实,我们的方法可以对 Python、Java 和 Smalltalk 编程语言的频繁类注释信息类型进行高精度分类。我们相信这项工作可以帮助监控和评估不同编程语言中代码注释的质量和演化,从而支持维护和演化任务。

更新日期:2021-07-24
down
wechat
bug