MUSIC: Mutation Analysis Tool with High Configurability and Extensibility

Although mutation analysis is important for various software analysis tasks, there exist few practical mutation tools for C programs. We have developed MUSIC (MUtation analySIs tool with high Configurability and extensibility) which generates mutants for modern complex real-world C programs. MUSIC provides various mutation operators including 10 new mutation operators such as string and function call mutation operators as well as 63 conventional mutation operators. Also, MUSIC supports a user to create a new mutation operator easily. Furthermore, MUSIC can select a domain and a range of a mutation operator for various purposes. We have applied Milu, Proteum, and MUSIC to Siemens benchmark programs and a modern real-world C program cURL, and compared them in terms of applicability and a number of stillborn (i.e., syntactically illegal) mutants generated. In the experiment, MUSIC successfully generates mutants without any stillborn mutants.

[1]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[2]  Shin Yoo,et al.  Ask the Mutants: Mutating Faulty Programs for Fault Localization , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[3]  Shin Hong,et al.  Invasive Software Testing: Mutating Target Programs to Diversify Test Exploration for High Test Coverage , 2018, 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST).

[4]  Andreas Zeller,et al.  Mutation-Driven Generation of Unit Tests and Oracles , 2012, IEEE Trans. Software Eng..

[5]  Moonzoo Kim,et al.  Automated unit testing of large industrial embedded software using concolic testing , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[6]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

[7]  Moonzoo Kim,et al.  Precise Concolic Unit Testing of C Programs Using Extended Units and Symbolic Alarm Filtering , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[8]  Yue Jia,et al.  MILU: A Customizable, Runtime-Optimized Higher Order Mutation Testing Tool for the Full C Language , 2008, Testing: Academic & Industrial Conference - Practice and Research Techniques (taic part 2008).

[9]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[10]  Shin Hong,et al.  MUSEUM: Debugging real-world multilingual programs using mutation analysis , 2017, Inf. Softw. Technol..

[11]  Yves Le Traon,et al.  Metallaxis‐FL: mutation‐based fault localization , 2015, Softw. Test. Verification Reliab..

[12]  Shin Hong,et al.  Mutation-Based Fault Localization for Real-World Multilingual Programs (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).