• Email
  • Like
  • Save
  • Private Content
  • Embed
 

Seeding Bugs To Find Bugs

by

  • 9,027 views

Seeding Bugs to Find Bugs: Mutation Testing Revisited...

Seeding Bugs to Find Bugs: Mutation Testing Revisited

How do you know your test suite is "good enough"?  One of the best ways to tell is _mutation testing_.  Mutation testing seeds artificial defects (mutations) into a program and checks whether your test suite finds them.  If it does not, this means your test suite is not adequate yet.

Despite its effectiveness, mutation testing has two issues.  First, it requires large computing resources to re-run the test suite again and again.  Second, and this is worse, a mutation to the program can keep the program's semantics unchanged -- and thus cannot be detected by any test.  Such _equivalent mutants_ act as false positives; they have to be assessed and isolated manually, which is an extremely tedious task.

In this talk, I present the JAVALANCHE framework for mutation testing of Java programs, which addresses both the problems of efficiency and equivalent mutants.  First, JAVALANCHE is built for efficiency from the ground up, manipulating byte code directly and allowing mutation testing of programs that are several orders of magnitude larger than earlier research subjects.  Second, JAVALANCHE addresses the problem of equivalent mutants by assessing the _impact_ of mutations on dynamic invariants: The more invariants impacted by a mutation, the more likely it is to be useful for improving test suites.

We have evaluated JAVALANCHE on seven industrial-size programs, confirming its effectiveness.  With less than 3% of equivalent mutants, our approach provides a precise and fully automatic measure of the adequacy of a test suite -- making mutation testing, finally, applicable in practice.

Joint work with David Schuler and Valentin Dallmeier.

Andreas Zeller is computer science professor at Saarland University; he researches large programs and their history, and has developed a number of methods to determine the causes of program failures - on open-source programs as well as in industrial contexts at IBM, Microsoft, SAP and others.  His book "Why Programs Fail"  has received the Software Development Magazine productivity award in 2006.

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Adobe PDF

Usage Rights

© All Rights Reserved

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

11 Embeds 5,017

http://www.st.cs.uni-saarland.de 4975
http://translate.googleusercontent.com 13
http://www.slideshare.net 8
http://webcache.googleusercontent.com 7
https://www.st.cs.uni-saarland.de 5
http://www.st.cs.uni-sb.de 3
http://bb.unizar.es 2
http://static.slideshare.net 1
http://209.85.129.132 1
http://www-intern.st.cs.uni-saarland.de 1
http://honyaku.yahoofs.jp 1

More...

Statistics

Likes
3
Downloads
132
Comments
0
Embed Views
5,017
Views on SlideShare
4,010
Total Views
9,027
Post Comment
Edit your comment

Seeding Bugs To Find Bugs Seeding Bugs To Find Bugs Presentation Transcript