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}
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.