MUSEUM: Debugging real-world multilingual programs using mutation analysisopen access
- Authors
- Hong, Shin; Kwak, Taehoon; Lee, Byeongcheol; Jeon, Yiru; Ko, Bongseok; Kim, Yunho; Kim, Moonzoo
- Issue Date
- Jan-2017
- Publisher
- ELSEVIER SCIENCE BV
- Keywords
- Debugging; mutation analysis; Language interoperability; Foreign function interface
- Citation
- INFORMATION AND SOFTWARE TECHNOLOGY, v.82, pp.80 - 95
- Indexed
- SCIE
SCOPUS
- Journal Title
- INFORMATION AND SOFTWARE TECHNOLOGY
- Volume
- 82
- Start Page
- 80
- End Page
- 95
- URI
- https://scholarworks.bwise.kr/hanyang/handle/2021.sw.hanyang/153033
- DOI
- 10.1016/j.infsof.2016.10.002
- ISSN
- 0950-5849
- Abstract
- Context: The programming language ecosystem has diversified over the last few decades. Non-trivial pro- grams 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 (MU- SEUM). 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 mul- tilingual 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 sub- sets 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.
- Files in This Item
-
- Appears in
Collections - 서울 공과대학 > 서울 컴퓨터소프트웨어학부 > 1. Journal Articles
Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.