方法的概念衔接不足:方法衔接不足的一种新选择

Vaibhav Jain, Arpit Gupta
{"title":"方法的概念衔接不足:方法衔接不足的一种新选择","authors":"Vaibhav Jain, Arpit Gupta","doi":"10.1145/2723742.2723753","DOIUrl":null,"url":null,"abstract":"While often defined in informal ways, class cohesion reflects important properties of modules in a software system. High cohesion for classes is one of the desirable properties in Object Oriented (OO) analysis as it supports program comprehension, testing, reusability, maintainability. Cohesion metrics have been used for quality assessment, fault prediction, software modularization etc. Existing approaches of class cohesion metrics are largely based on the structural information of the source code, such as attribute references in class methods. These cohesion metrics reflect particular interpretations of cohesion. However, only looking at structural aspect of cohesion is not sufficient for completely and accurately specifying class cohesion. So there is a need to pay attention on other aspects of cohesion like conceptual aspect. But only few conceptual metrics have been proposed till now. In our work, we have proposed a new set of cohesion metrics named LCCM (Lack of Conceptual Cohesion of Methods) metrics. These cohesion metrics are conceptual version of widely used LCOM (Lack of Cohesion of methods) metrics. LCOM metrics measure cohesion on structural information extracted entirely from the source code (e.g., attribute references in methods and method calls) that captures the degree to which the elements of a class belong together from a structural point of view. Proposed LCCM metrics use conceptual concerns embedded in source code entities for measuring class cohesion. These metrics are based on the analysis of latent topics embedded in comments and identifiers in source code. Latent Drichlet Allocation (LDA), a topic modeling tool is used for this purpose. These topics are used by proposed LCCM metrics to define similarity between methods of a class and on the basis of this similarity; proposed LCCM metrics define cohesion of the class. For the verification of proposed metrics, a case study on an open source java software system, called Rhino, is performed. The case study indicates that the novel cohesion metrics capture different aspects of class cohesion compared to the exiting cohesion metrics.","PeriodicalId":288030,"journal":{"name":"Proceedings of the 8th India Software Engineering Conference","volume":"20 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Lack of Conceptual Cohesion of Methods: A new alternative to Lack Of Cohesion of Methods\",\"authors\":\"Vaibhav Jain, Arpit Gupta\",\"doi\":\"10.1145/2723742.2723753\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"While often defined in informal ways, class cohesion reflects important properties of modules in a software system. High cohesion for classes is one of the desirable properties in Object Oriented (OO) analysis as it supports program comprehension, testing, reusability, maintainability. Cohesion metrics have been used for quality assessment, fault prediction, software modularization etc. Existing approaches of class cohesion metrics are largely based on the structural information of the source code, such as attribute references in class methods. These cohesion metrics reflect particular interpretations of cohesion. However, only looking at structural aspect of cohesion is not sufficient for completely and accurately specifying class cohesion. So there is a need to pay attention on other aspects of cohesion like conceptual aspect. But only few conceptual metrics have been proposed till now. In our work, we have proposed a new set of cohesion metrics named LCCM (Lack of Conceptual Cohesion of Methods) metrics. These cohesion metrics are conceptual version of widely used LCOM (Lack of Cohesion of methods) metrics. LCOM metrics measure cohesion on structural information extracted entirely from the source code (e.g., attribute references in methods and method calls) that captures the degree to which the elements of a class belong together from a structural point of view. Proposed LCCM metrics use conceptual concerns embedded in source code entities for measuring class cohesion. These metrics are based on the analysis of latent topics embedded in comments and identifiers in source code. Latent Drichlet Allocation (LDA), a topic modeling tool is used for this purpose. These topics are used by proposed LCCM metrics to define similarity between methods of a class and on the basis of this similarity; proposed LCCM metrics define cohesion of the class. For the verification of proposed metrics, a case study on an open source java software system, called Rhino, is performed. The case study indicates that the novel cohesion metrics capture different aspects of class cohesion compared to the exiting cohesion metrics.\",\"PeriodicalId\":288030,\"journal\":{\"name\":\"Proceedings of the 8th India Software Engineering Conference\",\"volume\":\"20 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-02-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 8th India Software Engineering Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2723742.2723753\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 8th India Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2723742.2723753","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

虽然通常以非正式的方式定义,但类内聚反映了软件系统中模块的重要属性。类的高内聚性是面向对象(OO)分析中理想的属性之一,因为它支持程序理解、测试、可重用性和可维护性。内聚度量已被用于质量评估、故障预测、软件模块化等方面。现有的类内聚度量方法主要基于源代码的结构信息,如类方法中的属性引用。这些内聚度量反映了对内聚的特定解释。然而,仅仅着眼于内聚的结构方面是不足以完整和准确地指定类内聚的。因此,有必要关注衔接的其他方面,如概念方面。但到目前为止,只有少数概念度量被提出。在我们的工作中,我们提出了一组新的内聚度量,称为LCCM(方法缺乏概念内聚)度量。这些内聚度量是广泛使用的LCOM(缺乏方法内聚)度量的概念版本。LCOM度量度量完全从源代码中提取的结构信息的内聚性(例如,方法中的属性引用和方法调用),从结构的角度捕获类的元素属于一起的程度。建议的LCCM度量使用嵌入在源代码实体中的概念关注点来度量类内聚。这些指标基于对嵌入在源代码注释和标识符中的潜在主题的分析。Latent Drichlet Allocation (LDA)是一种主题建模工具。这些主题被提议的LCCM指标用来定义类的方法之间的相似性,并在此相似性的基础上;提出的LCCM度量定义了类的内聚性。为了验证所提议的度量标准,将对一个名为Rhino的开源java软件系统进行案例研究。案例研究表明,与现有的内聚度量相比,新的内聚度量捕获了类内聚的不同方面。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Lack of Conceptual Cohesion of Methods: A new alternative to Lack Of Cohesion of Methods
While often defined in informal ways, class cohesion reflects important properties of modules in a software system. High cohesion for classes is one of the desirable properties in Object Oriented (OO) analysis as it supports program comprehension, testing, reusability, maintainability. Cohesion metrics have been used for quality assessment, fault prediction, software modularization etc. Existing approaches of class cohesion metrics are largely based on the structural information of the source code, such as attribute references in class methods. These cohesion metrics reflect particular interpretations of cohesion. However, only looking at structural aspect of cohesion is not sufficient for completely and accurately specifying class cohesion. So there is a need to pay attention on other aspects of cohesion like conceptual aspect. But only few conceptual metrics have been proposed till now. In our work, we have proposed a new set of cohesion metrics named LCCM (Lack of Conceptual Cohesion of Methods) metrics. These cohesion metrics are conceptual version of widely used LCOM (Lack of Cohesion of methods) metrics. LCOM metrics measure cohesion on structural information extracted entirely from the source code (e.g., attribute references in methods and method calls) that captures the degree to which the elements of a class belong together from a structural point of view. Proposed LCCM metrics use conceptual concerns embedded in source code entities for measuring class cohesion. These metrics are based on the analysis of latent topics embedded in comments and identifiers in source code. Latent Drichlet Allocation (LDA), a topic modeling tool is used for this purpose. These topics are used by proposed LCCM metrics to define similarity between methods of a class and on the basis of this similarity; proposed LCCM metrics define cohesion of the class. For the verification of proposed metrics, a case study on an open source java software system, called Rhino, is performed. The case study indicates that the novel cohesion metrics capture different aspects of class cohesion compared to the exiting cohesion metrics.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信