Java-HCT: An approach to increase MC/DC using Hybrid Concolic Testing for Java programs

Sangharatna Godboley, Arpita Dutta, Durga Prasad Mohapatra · Annals of Computer Science and Information Systems · 2016

Modified Condition / Decision Coverage (MC/DC) is the second strongest coverage criterion in white-box testing.According to DO178C/RTCA criterion it is mandatory to achieve Level A certification for MC/DC.Concolic testing is the combination of Concrete and Symbolic execution.It is a systematic technique that performs symbolic execution but uses randomlygenerated test inputs to initialize the search and to allow the tool to execute programs when symbolic execution fails.In this paper, we extend concolic testing by computing MC/DC using the automatically generated test cases.On the other hand Feedback-Directed Random Test Generation builds inputs incrementally by randomly selecting a method call to apply and find arguments from among previously-constructed inputs.As soon as the input is built, it is executed and checked against a set of contracts and filters.In our proposed work, we combine feedback-directed test cases generation with concolic testing to form Java-Hybrid Concolic Testing (Java-HCT).Java-HCT generates more number of test cases since it combines the features of both Feedback-Directed Random Test and Concolic Testing.Hence, through Java-HCT, we achieve high MC/DC.Combinations of approaches represent different tradeoffs of completeness and scalability.We develop Java-HCT using RANDOOP, jCUTE, and COPECA.Combination of RANDOOP and jCUTE creates more test cases.COPECA is used to measure MC/DC% using the generated test cases.Experimental study shows that Java-HCT produces better MC/DC% than individual testing techniques(feedback-directed random testing and concolic testing).We have improved MC/DC by ×1.62 and by ×1.26 for feedback-directed random testing and concolic testing respectively.

Read the paper · More papers on PaperTik