通过面向对象软件的逆向工程进行架构级假设检验

S. Counsell, Peter Newson, E. Mendes
{"title":"通过面向对象软件的逆向工程进行架构级假设检验","authors":"S. Counsell, Peter Newson, E. Mendes","doi":"10.1109/WPC.2000.852480","DOIUrl":null,"url":null,"abstract":"Comprehension of an object oriented (OO) system, its architecture and use of OO features such as aggregation, generalisation and other forms of association is a difficult task to undertake without the original design documentation for reference. A reverse engineering tool was used to reproduce the UML design documentation from code of three industrial sized systems. High level class metrics were then collected directly from the design documents. Three hypotheses were tested to establish relationships between these high level features and the low level class features of number of class methods and attributes. A further hypothesis was tested to determine features of key classes in a system. Results indicated that, whilst no clear patterns emerged for hypotheses relating to generalisation, there was a clear (positive) statistical significance for all three systems studied between aggregation, other types of association and the number of method and attributes in a class. The final hypothesis tested supported the view that key classes in each of the three systems tended to contain a large number of methods, attributes, and associations, significant amounts of aggregation but very little inheritance. An important factor in the comprehension of a systems' architecture is therefore an understanding of the systems' key classes and the coupling patterns (due to aggregation and association) of those classes.","PeriodicalId":448149,"journal":{"name":"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension","volume":"42 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":"{\"title\":\"Architectural level hypothesis testing through reverse engineering of object-oriented software\",\"authors\":\"S. Counsell, Peter Newson, E. Mendes\",\"doi\":\"10.1109/WPC.2000.852480\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Comprehension of an object oriented (OO) system, its architecture and use of OO features such as aggregation, generalisation and other forms of association is a difficult task to undertake without the original design documentation for reference. A reverse engineering tool was used to reproduce the UML design documentation from code of three industrial sized systems. High level class metrics were then collected directly from the design documents. Three hypotheses were tested to establish relationships between these high level features and the low level class features of number of class methods and attributes. A further hypothesis was tested to determine features of key classes in a system. Results indicated that, whilst no clear patterns emerged for hypotheses relating to generalisation, there was a clear (positive) statistical significance for all three systems studied between aggregation, other types of association and the number of method and attributes in a class. The final hypothesis tested supported the view that key classes in each of the three systems tended to contain a large number of methods, attributes, and associations, significant amounts of aggregation but very little inheritance. An important factor in the comprehension of a systems' architecture is therefore an understanding of the systems' key classes and the coupling patterns (due to aggregation and association) of those classes.\",\"PeriodicalId\":448149,\"journal\":{\"name\":\"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension\",\"volume\":\"42 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-06-10\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"15\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/WPC.2000.852480\",\"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 IWPC 2000. 8th International Workshop on Program Comprehension","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2000.852480","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15

摘要

如果没有原始设计文档作为参考,理解面向对象(OO)系统、它的体系结构和OO特性(如聚合、泛化和其他形式的关联)的使用是一项困难的任务。一个逆向工程工具被用来从三个工业规模系统的代码中复制UML设计文档。然后直接从设计文档中收集高级类度量。我们测试了三个假设,以建立这些高级特征与低级类特征(类方法和属性的数量)之间的关系。进一步的假设进行了测试,以确定系统中关键类的特征。结果表明,虽然没有明确的模式出现与概括有关的假设,有一个明确的(积极的)统计意义在所有三个系统研究之间的聚合,其他类型的关联和数量的方法和属性在一个类。经过测试的最后一个假设支持这样一种观点,即三个系统中的每个关键类都倾向于包含大量的方法、属性和关联,有大量的聚合,但很少有继承。因此,理解系统体系结构的一个重要因素是理解系统的关键类和这些类的耦合模式(由于聚合和关联)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Architectural level hypothesis testing through reverse engineering of object-oriented software
Comprehension of an object oriented (OO) system, its architecture and use of OO features such as aggregation, generalisation and other forms of association is a difficult task to undertake without the original design documentation for reference. A reverse engineering tool was used to reproduce the UML design documentation from code of three industrial sized systems. High level class metrics were then collected directly from the design documents. Three hypotheses were tested to establish relationships between these high level features and the low level class features of number of class methods and attributes. A further hypothesis was tested to determine features of key classes in a system. Results indicated that, whilst no clear patterns emerged for hypotheses relating to generalisation, there was a clear (positive) statistical significance for all three systems studied between aggregation, other types of association and the number of method and attributes in a class. The final hypothesis tested supported the view that key classes in each of the three systems tended to contain a large number of methods, attributes, and associations, significant amounts of aggregation but very little inheritance. An important factor in the comprehension of a systems' architecture is therefore an understanding of the systems' key classes and the coupling patterns (due to aggregation and association) of those classes.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术文献互助群
群 号:604180095
Book学术官方微信