MuVM

Higher Order Mutation Analysis Virtual Machine for C

Susumu Tokumoto, Hiroaki Yoshida, Kazunori Sakamoto, Shinichi Honiden

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Mutation analysis is a method for evaluating the effectiveness of a test suiteby seeding faults artificially and measuringthe fraction of seeded faults detected by the test suite. The major limitation of mutation analysis is its lengthy execution time because it involves generating, compiling andrunning large numbers of mutated programs, called mutants. Our tool MuVM achieves a significant runtime improvement by performinghigher order mutation analysis using four techniques, metamutation, mutation on virtual machine, higher order split-stream execution, and online adaptation technique. In order to obtain the same behavior as mutating the source code directly, metamutation preserves the mutation location informationwhich may potentially be lost during bitcode compilation and optimization. Mutation on a virtual machine reduces the compilation and testing costby compiling a program once and invoking a process once. Higher order split-stream execution also reducesthe testing cost by executing common parts of the mutants togetherand splitting the execution at a seeded fault. Online adaptation technique reduces the number of generated mutantsby omitting infeasible mutants. Our comparative experiments indicate that our tool is significantly superior to an existing tool, an existing technique (mutation schema generation), and no-split-stream executionin higher order mutation.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages320-329
Number of pages10
ISBN (Electronic)9781509018260
DOIs
Publication statusPublished - 2016 Jul 18
Externally publishedYes
Event9th IEEE International Conference on Software Testing, Verification and Validation, ICST 2016 - Chicago, United States
Duration: 2016 Apr 102016 Apr 15

Other

Other9th IEEE International Conference on Software Testing, Verification and Validation, ICST 2016
CountryUnited States
CityChicago
Period16/4/1016/4/15

Fingerprint

Testing
Virtual machine
Costs
Experiments

Keywords

  • High Order Mutants
  • Mutation Analysis
  • Software Testing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Tokumoto, S., Yoshida, H., Sakamoto, K., & Honiden, S. (2016). MuVM: Higher Order Mutation Analysis Virtual Machine for C. In Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016 (pp. 320-329). [7515483] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/ICST.2016.18

MuVM : Higher Order Mutation Analysis Virtual Machine for C. / Tokumoto, Susumu; Yoshida, Hiroaki; Sakamoto, Kazunori; Honiden, Shinichi.

Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016. Institute of Electrical and Electronics Engineers Inc., 2016. p. 320-329 7515483.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Tokumoto, S, Yoshida, H, Sakamoto, K & Honiden, S 2016, MuVM: Higher Order Mutation Analysis Virtual Machine for C. in Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016., 7515483, Institute of Electrical and Electronics Engineers Inc., pp. 320-329, 9th IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, Chicago, United States, 16/4/10. https://doi.org/10.1109/ICST.2016.18
Tokumoto S, Yoshida H, Sakamoto K, Honiden S. MuVM: Higher Order Mutation Analysis Virtual Machine for C. In Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016. Institute of Electrical and Electronics Engineers Inc. 2016. p. 320-329. 7515483 https://doi.org/10.1109/ICST.2016.18
Tokumoto, Susumu ; Yoshida, Hiroaki ; Sakamoto, Kazunori ; Honiden, Shinichi. / MuVM : Higher Order Mutation Analysis Virtual Machine for C. Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016. Institute of Electrical and Electronics Engineers Inc., 2016. pp. 320-329
@inproceedings{da11d329dc5b4b7c8c7e2b7e6e3d6e0a,
title = "MuVM: Higher Order Mutation Analysis Virtual Machine for C",
abstract = "Mutation analysis is a method for evaluating the effectiveness of a test suiteby seeding faults artificially and measuringthe fraction of seeded faults detected by the test suite. The major limitation of mutation analysis is its lengthy execution time because it involves generating, compiling andrunning large numbers of mutated programs, called mutants. Our tool MuVM achieves a significant runtime improvement by performinghigher order mutation analysis using four techniques, metamutation, mutation on virtual machine, higher order split-stream execution, and online adaptation technique. In order to obtain the same behavior as mutating the source code directly, metamutation preserves the mutation location informationwhich may potentially be lost during bitcode compilation and optimization. Mutation on a virtual machine reduces the compilation and testing costby compiling a program once and invoking a process once. Higher order split-stream execution also reducesthe testing cost by executing common parts of the mutants togetherand splitting the execution at a seeded fault. Online adaptation technique reduces the number of generated mutantsby omitting infeasible mutants. Our comparative experiments indicate that our tool is significantly superior to an existing tool, an existing technique (mutation schema generation), and no-split-stream executionin higher order mutation.",
keywords = "High Order Mutants, Mutation Analysis, Software Testing",
author = "Susumu Tokumoto and Hiroaki Yoshida and Kazunori Sakamoto and Shinichi Honiden",
year = "2016",
month = "7",
day = "18",
doi = "10.1109/ICST.2016.18",
language = "English",
pages = "320--329",
booktitle = "Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - MuVM

T2 - Higher Order Mutation Analysis Virtual Machine for C

AU - Tokumoto, Susumu

AU - Yoshida, Hiroaki

AU - Sakamoto, Kazunori

AU - Honiden, Shinichi

PY - 2016/7/18

Y1 - 2016/7/18

N2 - Mutation analysis is a method for evaluating the effectiveness of a test suiteby seeding faults artificially and measuringthe fraction of seeded faults detected by the test suite. The major limitation of mutation analysis is its lengthy execution time because it involves generating, compiling andrunning large numbers of mutated programs, called mutants. Our tool MuVM achieves a significant runtime improvement by performinghigher order mutation analysis using four techniques, metamutation, mutation on virtual machine, higher order split-stream execution, and online adaptation technique. In order to obtain the same behavior as mutating the source code directly, metamutation preserves the mutation location informationwhich may potentially be lost during bitcode compilation and optimization. Mutation on a virtual machine reduces the compilation and testing costby compiling a program once and invoking a process once. Higher order split-stream execution also reducesthe testing cost by executing common parts of the mutants togetherand splitting the execution at a seeded fault. Online adaptation technique reduces the number of generated mutantsby omitting infeasible mutants. Our comparative experiments indicate that our tool is significantly superior to an existing tool, an existing technique (mutation schema generation), and no-split-stream executionin higher order mutation.

AB - Mutation analysis is a method for evaluating the effectiveness of a test suiteby seeding faults artificially and measuringthe fraction of seeded faults detected by the test suite. The major limitation of mutation analysis is its lengthy execution time because it involves generating, compiling andrunning large numbers of mutated programs, called mutants. Our tool MuVM achieves a significant runtime improvement by performinghigher order mutation analysis using four techniques, metamutation, mutation on virtual machine, higher order split-stream execution, and online adaptation technique. In order to obtain the same behavior as mutating the source code directly, metamutation preserves the mutation location informationwhich may potentially be lost during bitcode compilation and optimization. Mutation on a virtual machine reduces the compilation and testing costby compiling a program once and invoking a process once. Higher order split-stream execution also reducesthe testing cost by executing common parts of the mutants togetherand splitting the execution at a seeded fault. Online adaptation technique reduces the number of generated mutantsby omitting infeasible mutants. Our comparative experiments indicate that our tool is significantly superior to an existing tool, an existing technique (mutation schema generation), and no-split-stream executionin higher order mutation.

KW - High Order Mutants

KW - Mutation Analysis

KW - Software Testing

UR - http://www.scopus.com/inward/record.url?scp=84983247238&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84983247238&partnerID=8YFLogxK

U2 - 10.1109/ICST.2016.18

DO - 10.1109/ICST.2016.18

M3 - Conference contribution

SP - 320

EP - 329

BT - Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016

PB - Institute of Electrical and Electronics Engineers Inc.

ER -