Jeff Offutt, Professor of Software Engineering at George Mason University (Virginia)

May 24 2019

Mutation testing can improve software reliability, including security

Jeff_Offutt.jpg
Where are the business challenges solved by mutation testing?

Mutation can help develop excellent tests. Mutation creates subtle variations of the program-under-test (called mutants), and challenges the tester to design or find test inputs that distinguish the mutants from the original. The resulting test set will find faults that lurk in complicated expressions and hard-to-reach sections of the code. Mutation tests ensure statement and branch coverage, but go far beyond them in their ability to reveal faults in the code.

Who are the main users adopting mutation testing tools in their software production chain? 

Mutation is expensive, impossible to use without substantial tool support, and we still don't know the most efficient and effective way to apply it. It's mostly used by safety-critical software companies (aerospace for example) and financial institutions.

Do you expect mutation testing to improve software quality, maintainability, security, or any other aspect? 

Mutation testing can improve software reliability, including security. From my understanding of DevOps, it cannot exist without test automation. So, by definition, DevOps teams will collaborate on testing automation tools.


Where do you see the main enablers and motivators for automated test automation?

ENABLERS

  • Education: Many developers know very little about test automation and many testers do not know how to automate.
  • Tools: Good tool support make the transition to test automation simpler and cheaper.

MOTIVATORS

  • Competition means quality matters more. Software companies, and companies that depend on software, succeed only if their software works well.
  • Knowledge of the value of better software, unit testing, and test automation.

Would you appreciate more collaborations with STAMP project partners ? On which aspects ? 

I'm a researcher and educator, not a developer. But I am hoping for the day when fully automated testing integrates directly with compiling inside IDEs.

A word about yourself and your organization

I'm leading projects in test automation, mutation testing, and computing education.

Jeff Offutt received the Outstanding Faculty Award from the State Council of Higher Education for Virginia in 2019 and the George Mason University Teaching Excellence Award, Teaching With Technology, in 2013. He leads the MS in Software Engineering program at GMU (George Mason University), teaches Software Engineering courses at all levels and has developed new courses on several Software Engineering subjects, including web engineering, software testing, construction, design, usability, experimentation, and analysis. His current research interests include software testing, test automation, usable security, software engineering education, analysis and testing of web applications.