opensciences / opensciences.github.io

Website for OpenScience -
http://openscience.us
MIT License
26 stars 18 forks source link

XMLMate: evolutionary XML test generation #128

Closed rahulpandita closed 9 years ago

rahulpandita commented 9 years ago

XMLMate: evolutionary XML test generation

Link to the paper: http://dl.acm.org/citation.cfm?id=2635868.2661666&coll=DL&dl=GUIDE&CFID=464701544&CFTOKEN=55037057

Link to the Data: https://www.st.cs.uni-saarland.de/testing/xmlmate/

Nikolas Havrikov, Matthias Höschele, Juan Pablo Galeotti, Andreas Zeller Pages: 719-722 doi>10.1145/2635868.2661666 Full text: PDFPDF

Generating system inputs satisfying complex constraints is still a challenge for modern test generators. We present XMLMATE, a search-based test generator specially aimed at XML-based systems. XMLMATE leverages program structure, existing XML schemas, ... expand CHOReOSynt: enforcing choreography realizability in the future internet

timm commented 9 years ago

Context notes

Reference

Nikolas Havrikov, Matthias Höschele, Juan Pablo Galeotti, and Andreas Zeller. 2014. XMLMate: evolutionary XML test generation. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014). ACM, New York, NY, USA, 719-722. DOI=10.1145/2635868.2661666 http://doi.acm.org/10.1145/2635868.2661666

Download code

https://www.st.cs.uni-saarland.de/testing/xmlmate/

Link to Data

https://www.st.cs.uni-saarland.de/testing/xmlmate/xmlmate-data.zip

Teaser video

http://youtu.be/-yKom5mbft0

Abstract

Generating system inputs satisfying complex constraints is still a challenge for modern test generators. We present XMLMATE, a search-based test generator specially aimed at XML-based systems. XMLMATE leverages program structure, existing XML schemas, and XML inputs to generate, mutate, recombine, and evolve valid XML inputs.

XMLMATE is a search-based test generator. As sketched in Figure 2, it either takes a population of sample XML inputs or randomly generates one, and then systematically evolves this population over several generations to reach the desired coverage goal. To evolve inputs it applies mutation and crossover operators to individuals and favors the procreation and survival of the fittest according to a fitness function geared towards obtaining coverage and triggering exceptions. Measuring the fitness of an input requires executing the program under test; therefore, the runtime of the approach scales linearly with the runtime of the program.

XMLMATE is a search-based test generator. As sketched in Figure 2, it either takes a population of sample XML inputs or randomly generates one, and then systematically evolves this population over several generations to reach the desired coverage goal. To evolve inputs it applies mutation and crossover operators to individuals and favors the procreation and survival of the fittest according to a fitness function geared towards obtaining coverage and triggering exceptions. Measuring the fitness of an input requires executing the program under test; therefore, the runtime of the approach scales linearly with the runtime of the program.

Over a set of seven XML-based systems, XMLMATE detected 31 new unique failures in production code, all triggered by system inputs and thus true alarms.

Contents

Zip file (46M) divides as follows:

.
├── batik
│   ├── evosuite-tests
│   ├── microsoft-xmlsamplegenerator
│   ├── msv
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
├── flyingsaucer
│   ├── evosuite-tests
│   ├── microsoft-xmlsamplegenerator
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
├── freedots
│   ├── evosuite-tests
│   ├── microsoft-xmlsamplegenerator
│   ├── msv
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
├── jeuclid
│   ├── evosuite-tests
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
├── rome
│   ├── evosuite-tests
│   ├── microsoft-xmlsamplegenerator
│   ├── msv
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
├── svgimage
│   ├── evosuite-tests
│   ├── microsoft-xmlsamplegenerator
│   ├── msv
│   ├── samples
│   ├── test_driver
│   ├── xmlmate(random)
│   └── xmlmate(samples)
└── svgsalamander
    ├── evosuite-tests
    ├── microsoft-xmlsamplegenerator
    ├── msv
    ├── samples
    ├── test_driver
    ├── xmlmate(random)
    └── xmlmate(samples)
CarterPape commented 9 years ago

Email: zeller@st.cs.uni-saarland.de

reesjones commented 9 years ago

Added as xmlmate. http://openscience.us/repo/other/xmlmate.html