Journal
INFORMATION AND SOFTWARE TECHNOLOGY
Volume 82, Issue -, Pages 80-95Publisher
ELSEVIER SCIENCE BV
DOI: 10.1016/j.infsof.2016.10.002
Keywords
Debugging; mutation analysis; Language interoperability; Foreign function interface
Funding
- MSIP, Korea, under the ITRC support program [IITP-2016-H85011610120001002]
- NRF - Korea government (MSIP) [NRF-2014K1A3A1A09063167, NRF-2015R1C1A1A01055259, NRF-2015R1C1A1A01052876, NRF-2016R1A2B4008113]
- IITP grant program - MSIP (Research and Development of Dual Operating System Architecture with High-Reliable RTOS and High-Performance OS) [R0101-15-0081]
- IITP grant program - MSIP (High Performance Big Data Analytics Platform Performance Acceleration Technologies Development) [R0190-16-2012]
- GIST Research Institute (GRI)
Ask authors/readers for more resources
Context The programming language ecosystem has diversified over the last few decades. Non-trivial programs are likely to be written in more than a single language to take advantage of various control/data abstractions and legacy libraries. Objective: Debugging multilingual bugs is challenging because language interfaces are difficult to use correctly and the scope of fault localization goes beyond language boundaries. To locate the causes of real-world multilingual bugs, this article proposes a mutation-based fault localization technique (MUSEUM). Method: MUSEUM modifies a buggy program systematically with our new mutation operators as well as conventional mutation operators, observes the dynamic behavioral changes in a test suite, and reports suspicious statements. To reduce the analysis cost, MUSEUM selects a subset of mutated programs and test cases. Results: Our empirical evaluation shows that MUSEUM is (i) effective: it identifies the buggy statements as the most suspicious statements for both resolved and unresolved non-trivial bugs in real-world multilingual programming projects; and (ii) efficient: it locates the buggy statements in modest amount of time using multiple machines in parallel. Also, by applying selective mutation analysis (i.e., selecting subsets of mutants and test cases to use), MUSEUM achieves significant speedup with marginal accuracy loss compared to the full mutation analysis. Conclusion: It is concluded that MUSEUM- locates real-world multilingual bugs accurately. This result shows that mutation analysis can provide an effective, efficient, and language semantics agnostic analysis on multilingual code. Our light-weight analysis approach would play important roles as programmers write and debug large and complex programs in diverse programming languages. (C) 2016 The Authors. Published by Elsevier B.V.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available