首页 > 最新文献

2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)最新文献

英文 中文
Separating the Wheat from the Chaff: Using Indexing and Sub-Sequence Mining Techniques to Identify Related Crashes During Bug Triage 从谷壳中分离小麦:使用索引和子序列挖掘技术来识别Bug分类过程中的相关崩溃
Kedrian James, Yufei Du, Sanjeev Das, F. Monrose
Bug triaging entails a laborious process wherein triagers spend time examining new bug reports, localizing the bugs, and assigning them to the appropriate developer(s) to fix the bugs. In recent years, the adoption of automated software testing techniques (e.g., fuzzing) further complicates the process because bug hunters can submit an overwhelming number of reports in a short period. To lessen these pain points, we present an approach that extracts a fingerprint from crash information within a bug report, and returns a group of bugs with similar behaviors. Our approach uses symptoms of the crash to create a robust fingerprint, and leverages MinHashing and Locality Sensitive Hashing to match crashes, as well as a sequential pattern mining algorithm to find frequent closed sequences among bugs. Our evaluation shows that our approach outperforms contemporary approaches (e.g., finding previously unknown duplicates among 81 CVEs), and saves triagers time and effort.
Bug分类需要一个费力的过程,在这个过程中,分类者花时间检查新的Bug报告,定位Bug,并将它们分配给适当的开发人员来修复Bug。近年来,自动化软件测试技术(例如,模糊测试)的采用使这个过程进一步复杂化,因为bug猎人可以在短时间内提交大量的报告。为了减少这些痛点,我们提出了一种方法,从bug报告中的崩溃信息中提取指纹,并返回一组具有相似行为的bug。我们的方法使用崩溃的症状来创建一个健壮的指纹,并利用MinHashing和Locality Sensitive Hashing来匹配崩溃,以及一个顺序模式挖掘算法来查找bug之间频繁的封闭序列。我们的评估表明,我们的方法优于当代的方法(例如,在81个cve中发现以前未知的重复),并节省了triagers的时间和精力。
{"title":"Separating the Wheat from the Chaff: Using Indexing and Sub-Sequence Mining Techniques to Identify Related Crashes During Bug Triage","authors":"Kedrian James, Yufei Du, Sanjeev Das, F. Monrose","doi":"10.1109/QRS57517.2022.00014","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00014","url":null,"abstract":"Bug triaging entails a laborious process wherein triagers spend time examining new bug reports, localizing the bugs, and assigning them to the appropriate developer(s) to fix the bugs. In recent years, the adoption of automated software testing techniques (e.g., fuzzing) further complicates the process because bug hunters can submit an overwhelming number of reports in a short period. To lessen these pain points, we present an approach that extracts a fingerprint from crash information within a bug report, and returns a group of bugs with similar behaviors. Our approach uses symptoms of the crash to create a robust fingerprint, and leverages MinHashing and Locality Sensitive Hashing to match crashes, as well as a sequential pattern mining algorithm to find frequent closed sequences among bugs. Our evaluation shows that our approach outperforms contemporary approaches (e.g., finding previously unknown duplicates among 81 CVEs), and saves triagers time and effort.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133617526","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
EWDLL: Software Aging State Identification based on LightGBM-LR Hybrid Model 基于LightGBM-LR混合模型的软件老化状态识别
Xueyong Tan, J. Liu
Android systems are prone to software aging due to the accumulation of numerical errors and storage-related bugs during long-term operation, resulting in gradual performance degradation and sudden system hang-ups. Thus, it is very critical to accurately identify the aging state for improving the running reliability of Android systems. In this paper, we propose a novel software aging state identification method, named EWDLL. It first introduces the exponential Weibull distribution to simulate the aging state transfer process of the Android system, then it uses Fuzzy Analytical Hierarchy Process (FAHP) to weight the model parameters and resource utilization parameters. Finally, the weighted dataset is fed into the LightGBM-LR model to identify the software state. The experimental results show that our EWDLL method performs better in identifying the software aging state for Android system, i.e., it is 0.86% to 1.09% higher in identification accuracy than the pure LightGBM-LR model, about 10.00% and 4.54% to 4.95% higher than the traditional models KNN and RF, and 1.97% to 3.09% higher than single LightGBM model. Compared with the LR model, it has a maximum accuracy improvement of about 33.29% to 35.64%.
Android系统在长期运行过程中,由于数值误差和存储相关bug的积累,容易出现软件老化,导致性能逐渐下降,系统突然挂起。因此,准确识别老化状态对于提高Android系统的运行可靠性至关重要。本文提出了一种新的软件老化状态识别方法EWDLL。首先引入指数威布尔分布来模拟Android系统的老化状态转移过程,然后利用模糊层次分析法(FAHP)对模型参数和资源利用参数进行加权。最后,将加权后的数据集输入LightGBM-LR模型进行软件状态识别。实验结果表明,EWDLL方法对Android系统软件老化状态的识别效果较好,识别准确率比单纯的LightGBM- lr模型提高0.86% ~ 1.09%,比传统的KNN和RF模型分别提高10.00%和4.54% ~ 4.95%,比单一的LightGBM模型提高1.97% ~ 3.09%。与LR模型相比,最大准确率提高约33.29% ~ 35.64%。
{"title":"EWDLL: Software Aging State Identification based on LightGBM-LR Hybrid Model","authors":"Xueyong Tan, J. Liu","doi":"10.1109/QRS57517.2022.00117","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00117","url":null,"abstract":"Android systems are prone to software aging due to the accumulation of numerical errors and storage-related bugs during long-term operation, resulting in gradual performance degradation and sudden system hang-ups. Thus, it is very critical to accurately identify the aging state for improving the running reliability of Android systems. In this paper, we propose a novel software aging state identification method, named EWDLL. It first introduces the exponential Weibull distribution to simulate the aging state transfer process of the Android system, then it uses Fuzzy Analytical Hierarchy Process (FAHP) to weight the model parameters and resource utilization parameters. Finally, the weighted dataset is fed into the LightGBM-LR model to identify the software state. The experimental results show that our EWDLL method performs better in identifying the software aging state for Android system, i.e., it is 0.86% to 1.09% higher in identification accuracy than the pure LightGBM-LR model, about 10.00% and 4.54% to 4.95% higher than the traditional models KNN and RF, and 1.97% to 3.09% higher than single LightGBM model. Compared with the LR model, it has a maximum accuracy improvement of about 33.29% to 35.64%.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121995499","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Quantitative Analysis of Sparsely Synchronized Fail-Safe Processors 稀疏同步故障安全处理器的定量分析
Jun Inoue, Hideaki Nishihara, A. Mori
We present the design and fail-safety analysis of a sparsely synchronized N-modular redundant architecture for fail-safe computing that can be built on unreliable commercial off-the-shelf (COTS) components. Though the main intended audience is railway operators, the architecture is expected to be useful for general fail-safe computations. Traditional bus-synchronized fail-safe processors have had difficulty catching up with the performance and cost improvements of COTS processors because frequent involvement of the voter needed specialized design that slowed down computations. The proposed architecture alleviates this problem by comparing data much less frequently, only when the data leaves the fail-safe processor altogether. This allows the voter to be vastly simplified, becoming easy to harden against errors. We show empirically the use of COTS hardware barely affects the reliability of the overall architecture, making it as reliable as the simple voting circuitry, with acceptable runtime overhead.
我们提出了一个稀疏同步的n模块冗余架构的设计和故障安全分析,用于故障安全计算,可以建立在不可靠的商用现货(COTS)组件上。虽然主要受众是铁路运营商,但该架构有望用于一般的故障安全计算。传统的总线同步故障安全处理器很难赶上COTS处理器的性能和成本改进,因为频繁的选民参与需要专门的设计,这减慢了计算速度。所提出的体系结构通过更少地比较数据来缓解这个问题,只有当数据完全离开故障安全处理器时才进行比较。这使得投票人被大大简化,变得容易防止错误。我们的经验表明,使用COTS硬件几乎不会影响整个体系结构的可靠性,使其与简单的投票电路一样可靠,并且具有可接受的运行时开销。
{"title":"Quantitative Analysis of Sparsely Synchronized Fail-Safe Processors","authors":"Jun Inoue, Hideaki Nishihara, A. Mori","doi":"10.1109/QRS57517.2022.00109","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00109","url":null,"abstract":"We present the design and fail-safety analysis of a sparsely synchronized N-modular redundant architecture for fail-safe computing that can be built on unreliable commercial off-the-shelf (COTS) components. Though the main intended audience is railway operators, the architecture is expected to be useful for general fail-safe computations. Traditional bus-synchronized fail-safe processors have had difficulty catching up with the performance and cost improvements of COTS processors because frequent involvement of the voter needed specialized design that slowed down computations. The proposed architecture alleviates this problem by comparing data much less frequently, only when the data leaves the fail-safe processor altogether. This allows the voter to be vastly simplified, becoming easy to harden against errors. We show empirically the use of COTS hardware barely affects the reliability of the overall architecture, making it as reliable as the simple voting circuitry, with acceptable runtime overhead.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127430987","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Reuse of Test Case based on Attributes Weight Optimization 基于属性权重优化的测试用例复用
Yaqing Shi, Song Huang, Jinyong Wan
Software testing is complicated and requires a lot of manpower and material resource in the software life cycle. The design of test cases costs a lot of time. In order to improve the efficiency of software testing in the test cases design stage, this paper uses historical test assets to assist the design of test cases in new project, and proposes a test case reuse method based on attribute weight optimization. Firstly, the text vector of test data is obtained by using Natural Language Processing. The test case package is formed based on the keyword extraction and the test case clustering, and the test case vector library is constructed. Then, a test case attribute weight optimization method based on the Genetic Simulated Annealing Algorithm is proposed. Combined with the optimized attribute weights, the test case reuse is realized by using the similarity calculation of the test case data vector. Finally, the test case reuse method is experimentally verified by two projects with different types. Experimental results show that this method can effectively improve the efficiency of test cases’ design. It has better understandability and maintainability, and improve the quality of test cases.
软件测试是一个复杂的过程,在软件生命周期中需要耗费大量的人力和物力。测试用例的设计花费了大量的时间。为了提高软件测试在测试用例设计阶段的效率,利用历史测试资产辅助新项目测试用例的设计,提出了一种基于属性权重优化的测试用例复用方法。首先,利用自然语言处理方法获得测试数据的文本向量;在关键字提取和测试用例聚类的基础上形成测试用例包,构建测试用例向量库。然后,提出了一种基于遗传模拟退火算法的测试用例属性权重优化方法。结合优化后的属性权重,利用测试用例数据向量的相似度计算实现测试用例重用。最后,用两个不同类型的项目对测试用例复用方法进行了实验验证。实验结果表明,该方法可以有效地提高测试用例的设计效率。它具有更好的可理解性和可维护性,提高了测试用例的质量。
{"title":"Reuse of Test Case based on Attributes Weight Optimization","authors":"Yaqing Shi, Song Huang, Jinyong Wan","doi":"10.1109/QRS57517.2022.00054","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00054","url":null,"abstract":"Software testing is complicated and requires a lot of manpower and material resource in the software life cycle. The design of test cases costs a lot of time. In order to improve the efficiency of software testing in the test cases design stage, this paper uses historical test assets to assist the design of test cases in new project, and proposes a test case reuse method based on attribute weight optimization. Firstly, the text vector of test data is obtained by using Natural Language Processing. The test case package is formed based on the keyword extraction and the test case clustering, and the test case vector library is constructed. Then, a test case attribute weight optimization method based on the Genetic Simulated Annealing Algorithm is proposed. Combined with the optimized attribute weights, the test case reuse is realized by using the similarity calculation of the test case data vector. Finally, the test case reuse method is experimentally verified by two projects with different types. Experimental results show that this method can effectively improve the efficiency of test cases’ design. It has better understandability and maintainability, and improve the quality of test cases.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128135048","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Test Case Generation for Ethereum Smart Contract based on Data Dependency Analysis of State Variable 基于状态变量数据依赖分析的以太坊智能合约测试用例生成
Jinhu Du, Song Huang, Xingya Wang, Changyou Zheng, Jin-lei Sun
An Ethereum smart contract is an agreement reached by multiple parties, which is guaranteed by blockchain technology to be executed in accordance with the terms expressed in the form of code. Its security needs are particularly prominent due to a large number of digital assets under management. Testing is an effective way to find flaws that threaten the security of smart contracts. However, current smart contract test case generation methods do not regard the impact of other functions in the smart contract on state variables, resulting in the inaccessibility of the control statements related to state variables and low branch coverage of the function under test. To alleviate this problem, this paper proposes SV-Gen. SV-Gen generates test cases for smart contracts through two steps: static analysis and dynamic search. In the first step, SV-Gen considers the read-write relationship between functions and state variables in the smart contract to generate a function invocation sequence for the function to be tested through a backtracking algorithm on state variables. Then the arguments of transactions to invoke each function in the sequence are generated through regex matching to form the primitive test case. In the second step, the primitive test cases constitute an initial population, and a genetic algorithm undertakes the task of evolving them to high branch coverage. The experimental results on one of the VeriSmart datasets show that SV-Gen can effectively enter the control constraints related to state variables and improve the branch coverage of smart contracts.
以太坊智能合约是多方达成的协议,由区块链技术保证按照以代码形式表达的条款执行。由于管理着大量的数字资产,其安全需求尤为突出。测试是发现威胁智能合约安全的缺陷的有效方法。然而,目前的智能合约测试用例生成方法没有考虑智能合约中其他功能对状态变量的影响,导致状态变量相关的控制语句不可访问,被测功能分支覆盖率低。为了缓解这一问题,本文提出了SV-Gen。SV-Gen通过静态分析和动态搜索两步生成智能合约的测试用例。第一步,SV-Gen考虑智能合约中函数与状态变量之间的读写关系,通过状态变量回溯算法生成待测试函数的函数调用序列。然后通过正则表达式匹配生成调用序列中每个函数的事务参数,形成基本测试用例。在第二步中,原始测试用例构成初始种群,遗传算法承担将它们进化到高分支覆盖率的任务。在一个VeriSmart数据集上的实验结果表明,SV-Gen可以有效地输入与状态变量相关的控制约束,提高智能合约的分支覆盖率。
{"title":"Test Case Generation for Ethereum Smart Contract based on Data Dependency Analysis of State Variable","authors":"Jinhu Du, Song Huang, Xingya Wang, Changyou Zheng, Jin-lei Sun","doi":"10.1109/QRS57517.2022.00077","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00077","url":null,"abstract":"An Ethereum smart contract is an agreement reached by multiple parties, which is guaranteed by blockchain technology to be executed in accordance with the terms expressed in the form of code. Its security needs are particularly prominent due to a large number of digital assets under management. Testing is an effective way to find flaws that threaten the security of smart contracts. However, current smart contract test case generation methods do not regard the impact of other functions in the smart contract on state variables, resulting in the inaccessibility of the control statements related to state variables and low branch coverage of the function under test. To alleviate this problem, this paper proposes SV-Gen. SV-Gen generates test cases for smart contracts through two steps: static analysis and dynamic search. In the first step, SV-Gen considers the read-write relationship between functions and state variables in the smart contract to generate a function invocation sequence for the function to be tested through a backtracking algorithm on state variables. Then the arguments of transactions to invoke each function in the sequence are generated through regex matching to form the primitive test case. In the second step, the primitive test cases constitute an initial population, and a genetic algorithm undertakes the task of evolving them to high branch coverage. The experimental results on one of the VeriSmart datasets show that SV-Gen can effectively enter the control constraints related to state variables and improve the branch coverage of smart contracts.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126078452","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Exploring Transformers for Multi-Label Classification of Java Vulnerabilities 探索用于Java漏洞多标签分类的转换器
Cláudia Mamede, Eduard Pinconschi, Rui Abreu, José Campos
Deep learning (DL) techniques have demonstrated potential in reasoning complex patterns of vulnerable code from high-level abstractions. Recent advancements in the area, such as the introduction of transformer-based models, like BERT, help overcome the problem of the available vulnerability detection datasets being too small to enable most DL models to capture all relevant patterns. They mitigate the challenge by leveraging knowledge from a general domain to solve problems in specific domains. In this paper, we explore different BERT-based models for multi-label classification of vulnerabilities in Java on a synthetic dataset. The models yield up to 99% in accuracy and 94% in f1-score. We remove biases in the training dataset and observe drops of up to 13% of the f1-score. We further assess the generalizability of the models on realistic samples and notice that one model, in particular, predicted unknown vulnerabilities with an f1-score of nearly 85%.
深度学习(DL)技术已经证明了从高级抽象中推理脆弱代码的复杂模式的潜力。该领域的最新进展,如BERT等基于转换器的模型的引入,有助于克服可用漏洞检测数据集太小的问题,从而使大多数深度学习模型能够捕获所有相关模式。他们通过利用一般领域的知识来解决特定领域的问题来减轻挑战。在本文中,我们探索了基于bert的Java漏洞多标签分类模型。该模型的准确率高达99%,f1-score为94%。我们消除了训练数据集中的偏差,观察到f1分数下降了13%。我们进一步评估了模型在实际样本上的泛化性,并注意到其中一个模型预测未知漏洞的f1得分接近85%。
{"title":"Exploring Transformers for Multi-Label Classification of Java Vulnerabilities","authors":"Cláudia Mamede, Eduard Pinconschi, Rui Abreu, José Campos","doi":"10.1109/QRS57517.2022.00015","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00015","url":null,"abstract":"Deep learning (DL) techniques have demonstrated potential in reasoning complex patterns of vulnerable code from high-level abstractions. Recent advancements in the area, such as the introduction of transformer-based models, like BERT, help overcome the problem of the available vulnerability detection datasets being too small to enable most DL models to capture all relevant patterns. They mitigate the challenge by leveraging knowledge from a general domain to solve problems in specific domains. In this paper, we explore different BERT-based models for multi-label classification of vulnerabilities in Java on a synthetic dataset. The models yield up to 99% in accuracy and 94% in f1-score. We remove biases in the training dataset and observe drops of up to 13% of the f1-score. We further assess the generalizability of the models on realistic samples and notice that one model, in particular, predicted unknown vulnerabilities with an f1-score of nearly 85%.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129950111","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Extracting Temporal Models from Data Episodes 从数据集中提取时间模型
Nour Chetouane, F. Wotawa
The testing objective is to find interactions with a system under test leading to unexpected behavior. Such interactions are test cases that can be either manually specified or automatically generated. For the latter, we find many methods and techniques in the research literature, including combinatorial testing or model-based testing. In this paper, we focus on automated test case generation based on models where we are interested in extracting models from available data. In particular, we consider automotive testing, where cars and other vehicles must behave correctly in typical driving situations. The idea is to use available driving data from which we want to extract driving models that we can later use for generating test cases, i.e., arbitrary driving patterns for vehicle testing. Besides outlining the foundations, we discuss the first experimental results we obtain using available open-access driving data.
测试的目标是找到与被测系统之间导致意外行为的交互。这样的交互是测试用例,可以手工指定,也可以自动生成。对于后者,我们在研究文献中找到了许多方法和技术,包括组合测试或基于模型的测试。在本文中,我们关注基于模型的自动化测试用例生成,我们感兴趣的是从可用数据中提取模型。我们特别考虑了汽车测试,其中汽车和其他车辆必须在典型的驾驶情况下正确运行。我们的想法是使用可用的驾驶数据,从中提取驾驶模型,我们可以稍后用于生成测试用例,即车辆测试的任意驾驶模式。除了概述基础之外,我们还讨论了我们使用可用的开放获取驾驶数据获得的第一个实验结果。
{"title":"Extracting Temporal Models from Data Episodes","authors":"Nour Chetouane, F. Wotawa","doi":"10.1109/QRS57517.2022.00078","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00078","url":null,"abstract":"The testing objective is to find interactions with a system under test leading to unexpected behavior. Such interactions are test cases that can be either manually specified or automatically generated. For the latter, we find many methods and techniques in the research literature, including combinatorial testing or model-based testing. In this paper, we focus on automated test case generation based on models where we are interested in extracting models from available data. In particular, we consider automotive testing, where cars and other vehicles must behave correctly in typical driving situations. The idea is to use available driving data from which we want to extract driving models that we can later use for generating test cases, i.e., arbitrary driving patterns for vehicle testing. Besides outlining the foundations, we discuss the first experimental results we obtain using available open-access driving data.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130782459","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Valkyrie: Improving Fuzzing Performance Through Deterministic Techniques 女武神:通过确定性技术提高模糊测试性能
Yuyang Rong, Chibin Zhang, Jianzhong Liu, Hao Chen
Greybox fuzzing has received much attention from developers and researchers due to its success in discovering bugs within many programs. However, randomized algorithms have limited fuzzers’ effectiveness. First, branch coverage feedback that is based on random edge ID can lead to branch collision. Besides, state-of-the-art fuzzers heavily rely on randomized methods to reach new coverage. Even fuzzers with a solver rely on incorrect assumptions, limiting their ability to solve branches and forcing them to turn to randomness as a last resort.We believe deterministic techniques deliver consistent, predictable, reproducible results. We propose Valkyrie, a greybox fuzzer whose performance is boosted primarily by deterministic techniques. Valkyrie combines collision-free branch coverage with context sensitivity to maintain accuracy while introducing an instrumentation removal algorithm to reduce overhead. It also pioneers a new mutation method, compensated step, allowing fuzzers that use solvers to adapt to real-world fuzzing scenarios without using randomness. We implement and evaluate Valkyrie’s effectiveness on the standard benchmark Magma, and a wide variety of real-world programs. Valkyrie triggered 21 unique integer and memory errors, 10.5% and 50% more than AFL++ and Angora, respectively. Valkyrie shows little to no variance across ten trials and is the fastest to trigger half of the bugs. Valkyrie reached 8.2% and 12.4% more branches in real-world programs, compared with AFL++ and Angora, respectively. We also verify that our branch counting and mutation method is better than the state-of-the-art, which shows that deterministic techniques trump random techniques in consistency, predictability, reproducibility, and performance.
灰盒模糊测试因其在许多程序中发现错误的成功而受到了开发人员和研究人员的广泛关注。然而,随机算法限制了模糊器的有效性。首先,基于随机边缘ID的分支覆盖反馈可能导致分支碰撞。此外,最先进的模糊探测器严重依赖随机方法来达到新的覆盖范围。即使是带有解算器的模糊玩家也依赖于不正确的假设,这限制了他们解决分支的能力,并迫使他们将随机性作为最后的手段。我们相信确定性技术提供一致的、可预测的、可重复的结果。我们提出了Valkyrie,一个灰盒模糊器,它的性能主要是通过确定性技术提高的。Valkyrie将无冲突分支覆盖与上下文敏感性相结合,以保持准确性,同时引入工具删除算法以减少开销。它还开创了一种新的突变方法,补偿步进,允许使用求解器的模糊器适应现实世界的模糊场景,而不使用随机性。我们在标准基准Magma和各种现实世界的程序上实施和评估Valkyrie的有效性。瓦尔基里触发了21个唯一整数和内存错误,分别比afl++和安哥拉多10.5%和50%。Valkyrie在10次试验中几乎没有变化,并且最快触发一半的bug。与afl++和安哥拉相比,Valkyrie在实际程序中的分支分别增加了8.2%和12.4%。我们还验证了我们的分支计数和突变方法比最先进的方法更好,这表明确定性技术在一致性、可预测性、可重复性和性能方面优于随机技术。
{"title":"Valkyrie: Improving Fuzzing Performance Through Deterministic Techniques","authors":"Yuyang Rong, Chibin Zhang, Jianzhong Liu, Hao Chen","doi":"10.1109/QRS57517.2022.00069","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00069","url":null,"abstract":"Greybox fuzzing has received much attention from developers and researchers due to its success in discovering bugs within many programs. However, randomized algorithms have limited fuzzers’ effectiveness. First, branch coverage feedback that is based on random edge ID can lead to branch collision. Besides, state-of-the-art fuzzers heavily rely on randomized methods to reach new coverage. Even fuzzers with a solver rely on incorrect assumptions, limiting their ability to solve branches and forcing them to turn to randomness as a last resort.We believe deterministic techniques deliver consistent, predictable, reproducible results. We propose Valkyrie, a greybox fuzzer whose performance is boosted primarily by deterministic techniques. Valkyrie combines collision-free branch coverage with context sensitivity to maintain accuracy while introducing an instrumentation removal algorithm to reduce overhead. It also pioneers a new mutation method, compensated step, allowing fuzzers that use solvers to adapt to real-world fuzzing scenarios without using randomness. We implement and evaluate Valkyrie’s effectiveness on the standard benchmark Magma, and a wide variety of real-world programs. Valkyrie triggered 21 unique integer and memory errors, 10.5% and 50% more than AFL++ and Angora, respectively. Valkyrie shows little to no variance across ten trials and is the fastest to trigger half of the bugs. Valkyrie reached 8.2% and 12.4% more branches in real-world programs, compared with AFL++ and Angora, respectively. We also verify that our branch counting and mutation method is better than the state-of-the-art, which shows that deterministic techniques trump random techniques in consistency, predictability, reproducibility, and performance.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128212983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
CGMBL: Combining GAN and Method Name for Bug Localization 结合GAN和方法名进行Bug定位
Hao Chen, Haiyang Yang, Zilun Yan, Li Kuang, Lingyan Zhang
Developers often need to locate buggy code files in the software quality maintenance process. Bug localization aims to automatically identify potentially buggy source code files from the project codes for developers based on the bug reports. Up to now, researchers have proposed many methods to advance this task. However, the early studies only focus on the accuracy of capturing text features or the efficiency of calculating relevance scores, which do not consider the semantic gap between bug reports in natural language and codes in programming language. In this paper, we propose a novel adversarial learning model to bridge the semantic gap. Due to the different characteristics of natural language and programming language, we propose two different representation models for bug reports and code files respectively, and regards the two representation models as the generators. Then we construct adversarial learning by adding a discriminator to distinguish the source of representations so that the model can learn the public features of different texts. In addition, method name is the summary of the code function, and the relevant method name often appears in the bug report. We consider the method name information according to whether the method name appears in the report. Our model can dynamically integrate the information to improve the model effect. We evaluate our model on three open-source java project datasets and compare it with four state-of-the-art methods. The experimental results show that our model outperforms the baseline models and has a significant improvement in evaluation metrics. Besides, we conduct ablation experiments to explain each module’s contribution to the model.
开发人员经常需要在软件质量维护过程中定位有bug的代码文件。Bug本地化的目的是根据Bug报告为开发人员从项目代码中自动识别潜在的Bug源代码文件。到目前为止,研究人员已经提出了许多方法来推进这项任务。然而,早期的研究只关注捕获文本特征的准确性或计算相关性分数的效率,而没有考虑自然语言中的错误报告与编程语言中的代码之间的语义差距。在本文中,我们提出了一种新的对抗性学习模型来弥合语义差距。由于自然语言和编程语言的不同特点,我们分别提出了bug报告和代码文件的两种不同的表示模型,并将这两种表示模型作为生成器。然后,我们通过添加鉴别器来区分表征的来源,从而构建对抗性学习,使模型能够学习不同文本的公共特征。另外,方法名是代码函数的总结,相关的方法名经常出现在bug报告中。我们根据方法名称是否出现在报告中来考虑方法名称信息。该模型可以动态整合信息,提高模型效果。我们在三个开源java项目数据集上评估我们的模型,并将其与四种最先进的方法进行比较。实验结果表明,我们的模型优于基线模型,并且在评估指标上有显著的改进。此外,我们还进行了烧蚀实验来解释每个模块对模型的贡献。
{"title":"CGMBL: Combining GAN and Method Name for Bug Localization","authors":"Hao Chen, Haiyang Yang, Zilun Yan, Li Kuang, Lingyan Zhang","doi":"10.1109/QRS57517.2022.00033","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00033","url":null,"abstract":"Developers often need to locate buggy code files in the software quality maintenance process. Bug localization aims to automatically identify potentially buggy source code files from the project codes for developers based on the bug reports. Up to now, researchers have proposed many methods to advance this task. However, the early studies only focus on the accuracy of capturing text features or the efficiency of calculating relevance scores, which do not consider the semantic gap between bug reports in natural language and codes in programming language. In this paper, we propose a novel adversarial learning model to bridge the semantic gap. Due to the different characteristics of natural language and programming language, we propose two different representation models for bug reports and code files respectively, and regards the two representation models as the generators. Then we construct adversarial learning by adding a discriminator to distinguish the source of representations so that the model can learn the public features of different texts. In addition, method name is the summary of the code function, and the relevant method name often appears in the bug report. We consider the method name information according to whether the method name appears in the report. Our model can dynamically integrate the information to improve the model effect. We evaluate our model on three open-source java project datasets and compare it with four state-of-the-art methods. The experimental results show that our model outperforms the baseline models and has a significant improvement in evaluation metrics. Besides, we conduct ablation experiments to explain each module’s contribution to the model.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123969827","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Proactive Self-Adaptation Approach for Software Systems based on Environment-Aware Model Predictive Control 基于环境感知模型预测控制的软件系统主动自适应方法
Zhengyin Chen, Wenpin Jiao
Modern software systems need to maintain their goals in a highly dynamic environment, which requires self-adaptation. Many existing self-adaptive approaches are reactive, they execute the adaptation behavior after the goal violation. However, proactive adaptation can adapt before the goal violation to avoid adverse consequence so it has attracted more and more attention. Model predictive control is a widely used method to implement proactive adaptation. However, these works often ignore uncertainty of environment, which makes the prediction of the system inaccurate and affect the control effectiveness. Therefore, we propose an environment-aware model predictive control method. Its main idea is to add the environment state to the system model, predict the future state of the system according to the predicted environment state and the current state of the system, and solve the optimal control strategy. We use a web application simulation platform to evaluate our method. The results show that our method can achieve better adaptation results and reduce the occurrence of goal violation.
现代软件系统需要在高度动态的环境中保持其目标,这需要自适应。现有的许多自适应方法都是反应性的,它们在目标违反后执行适应行为。而主动适应可以在违反目标之前进行适应,避免产生不良后果,因此受到越来越多的关注。模型预测控制是一种应用广泛的主动自适应控制方法。然而,这些工作往往忽略了环境的不确定性,使得系统预测不准确,影响控制效果。因此,我们提出了一种环境感知模型预测控制方法。其主要思想是在系统模型中加入环境状态,根据预测的环境状态和系统的当前状态预测系统的未来状态,求解最优控制策略。我们使用一个web应用程序仿真平台来评估我们的方法。结果表明,该方法能取得较好的自适应效果,减少目标违规的发生。
{"title":"A Proactive Self-Adaptation Approach for Software Systems based on Environment-Aware Model Predictive Control","authors":"Zhengyin Chen, Wenpin Jiao","doi":"10.1109/QRS57517.2022.00103","DOIUrl":"https://doi.org/10.1109/QRS57517.2022.00103","url":null,"abstract":"Modern software systems need to maintain their goals in a highly dynamic environment, which requires self-adaptation. Many existing self-adaptive approaches are reactive, they execute the adaptation behavior after the goal violation. However, proactive adaptation can adapt before the goal violation to avoid adverse consequence so it has attracted more and more attention. Model predictive control is a widely used method to implement proactive adaptation. However, these works often ignore uncertainty of environment, which makes the prediction of the system inaccurate and affect the control effectiveness. Therefore, we propose an environment-aware model predictive control method. Its main idea is to add the environment state to the system model, predict the future state of the system according to the predicted environment state and the current state of the system, and solve the optimal control strategy. We use a web application simulation platform to evaluate our method. The results show that our method can achieve better adaptation results and reduce the occurrence of goal violation.","PeriodicalId":143812,"journal":{"name":"2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2022-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123102419","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
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