{"title":"SMUP: A technique to improve MC/DC using specified patterns","authors":"","doi":"10.1016/j.compeleceng.2024.109706","DOIUrl":null,"url":null,"abstract":"<div><div>According to recent study, a number of poorly explored aspects, like program structure and not producing high-quality random inputs for testing, can have a significant impact on the overall efficacy of the testing process. Existing concolic testers found to be more cost-effective than random testers for code coverage. Modified condition/decision coverage (MC/DC) has gained its popularity as the strongest criterion for safety-critical systems proposed by RTCA/DO-178B(C), after multiple condition coverage (MCC). This paper proposes a new source code transformation technique that produces additional test cases to achieve higher MC/DC. The technical contribution of this work is threefold. First, it uses a pattern-based code transformation technique that produces effective MC/DC test cases. This pattern-based approach guides the concolic tester to generate test cases as per the MC/DC requirements. Second, the generated patterns are further simplified to minimize the execution time. Third, we have developed a tool named “Java MC/DC Analyzer” to measure MC/DC score for the input programs. The proposed approach is experimented on thirty Java programs and achieved an average increase of 32.86% MC/DC score which validates our work. Also, we have compared our approach with other code transformation techniques and reported a significant improvement.</div></div>","PeriodicalId":50630,"journal":{"name":"Computers & Electrical Engineering","volume":null,"pages":null},"PeriodicalIF":4.0000,"publicationDate":"2024-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computers & Electrical Engineering","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0045790624006335","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
According to recent study, a number of poorly explored aspects, like program structure and not producing high-quality random inputs for testing, can have a significant impact on the overall efficacy of the testing process. Existing concolic testers found to be more cost-effective than random testers for code coverage. Modified condition/decision coverage (MC/DC) has gained its popularity as the strongest criterion for safety-critical systems proposed by RTCA/DO-178B(C), after multiple condition coverage (MCC). This paper proposes a new source code transformation technique that produces additional test cases to achieve higher MC/DC. The technical contribution of this work is threefold. First, it uses a pattern-based code transformation technique that produces effective MC/DC test cases. This pattern-based approach guides the concolic tester to generate test cases as per the MC/DC requirements. Second, the generated patterns are further simplified to minimize the execution time. Third, we have developed a tool named “Java MC/DC Analyzer” to measure MC/DC score for the input programs. The proposed approach is experimented on thirty Java programs and achieved an average increase of 32.86% MC/DC score which validates our work. Also, we have compared our approach with other code transformation techniques and reported a significant improvement.
期刊介绍:
The impact of computers has nowhere been more revolutionary than in electrical engineering. The design, analysis, and operation of electrical and electronic systems are now dominated by computers, a transformation that has been motivated by the natural ease of interface between computers and electrical systems, and the promise of spectacular improvements in speed and efficiency.
Published since 1973, Computers & Electrical Engineering provides rapid publication of topical research into the integration of computer technology and computational techniques with electrical and electronic systems. The journal publishes papers featuring novel implementations of computers and computational techniques in areas like signal and image processing, high-performance computing, parallel processing, and communications. Special attention will be paid to papers describing innovative architectures, algorithms, and software tools.