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.
可靠软件的库演化
本文展示了一种方法,使函数库具有共同的使用模式,称为习惯用法。在用C编写的源程序中,通常可以看到库函数以某种模式组合,因为应用软件所需的功能比库函数更抽象。这意味着使用合适的习语是实现软件功能的关键问题之一。从库函数调用的控制和数据依赖的角度对现有复杂软件中的习惯用法进行了调查,发现“好的”习惯用法有助于软件开发和维护的可靠性。基于这个想法,我们以fcdg(函数调用依赖图)的形式从现有的开源软件中提取习语。通过将这些习语分类为FCDG模式数据库,我们提出了进化的库,其中每个库功能都伴随着典型的可靠使用模式。通过利用一个进化的库,我们展示了如何通过检查是否符合我们的习惯用法来有效地解决可能导致意外行为的潜在缺陷。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信