The role of symbolic execution in software maintenance

P. D. Coward, D. Ince
{"title":"The role of symbolic execution in software maintenance","authors":"P. D. Coward, D. Ince","doi":"10.1002/smr.4360030402","DOIUrl":null,"url":null,"abstract":"Two major problems facing the software maintenance programmer are avoiding the introduction of unexecutable code and coping with the large volume of regression tests that are often required during maintenance. In preparing program changes, staff who carry out maintenance often have to spend time on ascertaining the constraints which govern the variables at the proposed points of insertion of the new code. This effort is required to avoid the introduction of unexecutable code which can so easily happen when maintenance staff are unaware of the prevailing constraints. This often means that many of the paths executed during regression testing are executed more than once in an attempt to overcome the risk of coincidental correctness camouflaging an error. This paper describes how symbolic execution, and in particular the SYM-BOL system, can be used to reduce the likelihood of introducing unexecutable code, to speed up the process of determining the constraints on variables at a given point in a program and to reduce the volume of regression testing.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1991-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Softw. Maintenance Res. Pract.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/smr.4360030402","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Two major problems facing the software maintenance programmer are avoiding the introduction of unexecutable code and coping with the large volume of regression tests that are often required during maintenance. In preparing program changes, staff who carry out maintenance often have to spend time on ascertaining the constraints which govern the variables at the proposed points of insertion of the new code. This effort is required to avoid the introduction of unexecutable code which can so easily happen when maintenance staff are unaware of the prevailing constraints. This often means that many of the paths executed during regression testing are executed more than once in an attempt to overcome the risk of coincidental correctness camouflaging an error. This paper describes how symbolic execution, and in particular the SYM-BOL system, can be used to reduce the likelihood of introducing unexecutable code, to speed up the process of determining the constraints on variables at a given point in a program and to reduce the volume of regression testing.
符号执行在软件维护中的作用
软件维护程序员面临的两个主要问题是避免引入不可执行的代码,以及处理在维护期间经常需要的大量回归测试。在准备程序变更时,进行维护的工作人员通常必须花时间确定在新代码的建议插入点控制变量的约束。这种努力是为了避免引入不可执行的代码,当维护人员没有意识到普遍的约束时,不可执行的代码很容易发生。这通常意味着在回归测试期间执行的许多路径被执行了不止一次,以试图克服巧合正确性掩盖错误的风险。本文描述了如何使用符号执行,特别是symm - bol系统,来减少引入不可执行代码的可能性,加快确定程序中给定点上变量约束的过程,并减少回归测试的数量。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信