Library evolution for reliable software

Noritoshi Atsumi, Shoji Yuen, K. Agusa, Shinichirou Yamamoto
{"title":"Library evolution for reliable software","authors":"Noritoshi Atsumi, Shoji Yuen, K. Agusa, Shinichirou Yamamoto","doi":"10.1145/512035.512052","DOIUrl":null,"url":null,"abstract":"This paper shows a methodology to evolve a library of functions to be with common patterns of usage, called idioms. In source programs written in C, it is commonly seen that library functions are combined in a certain pattern since functionalities required in application software are more abstract than those of the library functions. This means that using appropriate idioms for the purpose is one of the key issues in implementing functionalities of the software. Investigating idioms in the existing elaborate software in terms of control and data dependencies of library function-calls, it is observed that \"good\" idioms contribute to the reliability in developing and maintaining software. Based on this idea, we extract idioms from the existing open-source software in the form of FCDGs (Function Call Dependency Graphs). By categorising those idioms as a database of FCDG patterns, we propose evolved libraries where each library function is accompanied by the typical reliable patterns of usage. By exploiting an evolved library, we show how effectively potential defects that may lead to unexpected behaviour are resolved by checking the conformance to our idioms.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Workshop on Principles of Software Evolution","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/512035.512052","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

This paper shows a methodology to evolve a library of functions to be with common patterns of usage, called idioms. In source programs written in C, it is commonly seen that library functions are combined in a certain pattern since functionalities required in application software are more abstract than those of the library functions. This means that using appropriate idioms for the purpose is one of the key issues in implementing functionalities of the software. Investigating idioms in the existing elaborate software in terms of control and data dependencies of library function-calls, it is observed that "good" idioms contribute to the reliability in developing and maintaining software. Based on this idea, we extract idioms from the existing open-source software in the form of FCDGs (Function Call Dependency Graphs). By categorising those idioms as a database of FCDG patterns, we propose evolved libraries where each library function is accompanied by the typical reliable patterns of usage. By exploiting an evolved library, we show how effectively potential defects that may lead to unexpected behaviour are resolved by checking the conformance to our idioms.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
可靠软件的库演化
本文展示了一种方法,使函数库具有共同的使用模式,称为习惯用法。在用C编写的源程序中,通常可以看到库函数以某种模式组合,因为应用软件所需的功能比库函数更抽象。这意味着使用合适的习语是实现软件功能的关键问题之一。从库函数调用的控制和数据依赖的角度对现有复杂软件中的习惯用法进行了调查,发现“好的”习惯用法有助于软件开发和维护的可靠性。基于这个想法,我们以fcdg(函数调用依赖图)的形式从现有的开源软件中提取习语。通过将这些习语分类为FCDG模式数据库,我们提出了进化的库,其中每个库功能都伴随着典型的可靠使用模式。通过利用一个进化的库,我们展示了如何通过检查是否符合我们的习惯用法来有效地解决可能导致意外行为的潜在缺陷。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Applying lehman's laws to game evolution Enhancement of CRD-based clone tracking Identifying clone removal opportunities based on co-evolution analysis What can commit metadata tell us about design degradation? Tracking performance failures with rizel
×
引用
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