使用切碎符号执行的自动安全补丁测试中的函数排除

Phan Ninh Thai, H. N. Viet, Nathan Shone, M. Babenko
{"title":"使用切碎符号执行的自动安全补丁测试中的函数排除","authors":"Phan Ninh Thai, H. N. Viet, Nathan Shone, M. Babenko","doi":"10.1109/NICS54270.2021.9701542","DOIUrl":null,"url":null,"abstract":"Patch testing is a core component of patch management and is used to verify that modified software modules (i.e. an update or patch) work as expected (functional testing) and do not contain any known vulnerabilities (security testing). Security patch testing requires a lot of time and a professional security knowledge from the tester. In recent years, chopped symbolic execution has been successfully applied in automatic or semiautomatic program testing, to reduce the amount of testing work. Chopped symbolic execution (Chopper) allows users to specify “uninteresting” functions to ignore during analysis, therefore allowing the testing of software modules without running all functions of the program. It is an effective solution for path explosion (one of the main problems of symbolic execution). The effectiveness of the chopped symbolic execution method in patch testing depends on how well the ignored functions are initially chosen. In this paper, we propose a novel method to automatically exclude functions for chopped symbolic execution in patch testing, using a control flow graph. Moreover, we use cyclomatic complexity to optimize the speed of the testing process. Experimental results show that our method can automatically choose the ignored functions and reduce the required testing time, in comparison to typical Chopper techniques.","PeriodicalId":296963,"journal":{"name":"2021 8th NAFOSTED Conference on Information and Computer Science (NICS)","volume":"117 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Function exclusion in automated security patch testing using chopped symbolic execution\",\"authors\":\"Phan Ninh Thai, H. N. Viet, Nathan Shone, M. Babenko\",\"doi\":\"10.1109/NICS54270.2021.9701542\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Patch testing is a core component of patch management and is used to verify that modified software modules (i.e. an update or patch) work as expected (functional testing) and do not contain any known vulnerabilities (security testing). Security patch testing requires a lot of time and a professional security knowledge from the tester. In recent years, chopped symbolic execution has been successfully applied in automatic or semiautomatic program testing, to reduce the amount of testing work. Chopped symbolic execution (Chopper) allows users to specify “uninteresting” functions to ignore during analysis, therefore allowing the testing of software modules without running all functions of the program. It is an effective solution for path explosion (one of the main problems of symbolic execution). The effectiveness of the chopped symbolic execution method in patch testing depends on how well the ignored functions are initially chosen. In this paper, we propose a novel method to automatically exclude functions for chopped symbolic execution in patch testing, using a control flow graph. Moreover, we use cyclomatic complexity to optimize the speed of the testing process. Experimental results show that our method can automatically choose the ignored functions and reduce the required testing time, in comparison to typical Chopper techniques.\",\"PeriodicalId\":296963,\"journal\":{\"name\":\"2021 8th NAFOSTED Conference on Information and Computer Science (NICS)\",\"volume\":\"117 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-12-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 8th NAFOSTED Conference on Information and Computer Science (NICS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/NICS54270.2021.9701542\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 8th NAFOSTED Conference on Information and Computer Science (NICS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NICS54270.2021.9701542","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

补丁测试是补丁管理的核心组成部分,用于验证修改后的软件模块(即更新或补丁)是否按预期工作(功能测试),并且不包含任何已知漏洞(安全测试)。安全补丁测试需要大量的时间和测试人员的专业安全知识。近年来,截断符号执行已成功地应用于自动或半自动程序测试中,以减少测试工作量。斩切符号执行(Chopper)允许用户指定在分析过程中忽略的“不感兴趣的”函数,因此允许在不运行程序的所有功能的情况下测试软件模块。它是解决路径爆炸(符号执行的主要问题之一)的有效方法。在补丁测试中,截断符号执行方法的有效性取决于最初选择忽略函数的程度。在本文中,我们提出了一种新的方法来自动排除在补丁测试中切割符号执行的函数,使用控制流图。此外,我们使用圈复杂度来优化测试过程的速度。实验结果表明,与典型的Chopper技术相比,该方法可以自动选择忽略的函数,减少了所需的测试时间。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Function exclusion in automated security patch testing using chopped symbolic execution
Patch testing is a core component of patch management and is used to verify that modified software modules (i.e. an update or patch) work as expected (functional testing) and do not contain any known vulnerabilities (security testing). Security patch testing requires a lot of time and a professional security knowledge from the tester. In recent years, chopped symbolic execution has been successfully applied in automatic or semiautomatic program testing, to reduce the amount of testing work. Chopped symbolic execution (Chopper) allows users to specify “uninteresting” functions to ignore during analysis, therefore allowing the testing of software modules without running all functions of the program. It is an effective solution for path explosion (one of the main problems of symbolic execution). The effectiveness of the chopped symbolic execution method in patch testing depends on how well the ignored functions are initially chosen. In this paper, we propose a novel method to automatically exclude functions for chopped symbolic execution in patch testing, using a control flow graph. Moreover, we use cyclomatic complexity to optimize the speed of the testing process. Experimental results show that our method can automatically choose the ignored functions and reduce the required testing time, in comparison to typical Chopper techniques.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信