方法替代指标:分析行为替代的度量

R. Schauer, R. Keller
{"title":"方法替代指标:分析行为替代的度量","authors":"R. Schauer, R. Keller","doi":"10.1109/ICSM.2001.972796","DOIUrl":null,"url":null,"abstract":"Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace these methods with implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. In this paper we apply the SPOOL environment to the reverse-engineered C++ source code of two industrial systems to investigate the occurrences and causes for method replacements, both at the method and at the class level. We define the method replacement indicator (MRI), which quantifies the extent of method replacements. Based on the data obtained in the analysis, we identify and discuss the causes why programmers replace non-primitive method implementations of reusable classes.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"The method replacement indicator: a metric for analyzing behavioral substitution\",\"authors\":\"R. Schauer, R. Keller\",\"doi\":\"10.1109/ICSM.2001.972796\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace these methods with implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. In this paper we apply the SPOOL environment to the reverse-engineered C++ source code of two industrial systems to investigate the occurrences and causes for method replacements, both at the method and at the class level. We define the method replacement indicator (MRI), which quantifies the extent of method replacements. Based on the data obtained in the analysis, we identify and discuss the causes why programmers replace non-primitive method implementations of reusable classes.\",\"PeriodicalId\":160032,\"journal\":{\"name\":\"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2001-11-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSM.2001.972796\",\"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 IEEE International Conference on Software Maintenance. ICSM 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2001.972796","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

面向对象编程是关于创建可重用类的,这些类将被扩展以捕获手头应用程序的特定需求。然而,程序员通常不是扩展这些类的方法,而是引入子类,在这些子类中,他们用与父类完全分离的实现取代这些方法;也就是说,子类方法不会直接或间接地调用父类中的对应方法。在本文中,我们将SPOOL环境应用于两个工业系统的逆向工程c++源代码,以调查方法和类级别上方法替换的发生和原因。我们定义了方法替代指标(MRI),它量化了方法替代的程度。根据分析中获得的数据,我们确定并讨论了程序员替换可重用类的非原语方法实现的原因。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
The method replacement indicator: a metric for analyzing behavioral substitution
Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace these methods with implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. In this paper we apply the SPOOL environment to the reverse-engineered C++ source code of two industrial systems to investigate the occurrences and causes for method replacements, both at the method and at the class level. We define the method replacement indicator (MRI), which quantifies the extent of method replacements. Based on the data obtained in the analysis, we identify and discuss the causes why programmers replace non-primitive method implementations of reusable classes.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Automating language conversion: a case study (an extended abstract) A metric framework for the assessment of object-oriented systems Dynamic and static views of software evolution Multi-view architecture trend analysis for medical imaging Bayesian analysis of software cost and quality models
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1