Charting a Course Through Uncertain Environments: SEA Uses Past Problems to Avoid Future Failures

Preston Moore, Justin Cappos, Phyllis Frankl, Thomas Wies

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

Abstract

A common problem for developers is applications exhibiting new bugs after deployment. Many of these bugs can be traced to unexpected network, operating system, and file system differences that cause program executions that were successful in a development environment to fail once deployed. Preventing these bugs is difficult because it is impractical to test an application in every environment. Enter Simulating Environmental Anomalies (SEA), a technique that utilizes evidence of one application's failure in a given environment to generate tests that can be applied to other applications, to see whether they suffer from analogous faults. In SEA, models of unusual properties extracted from interactions between an application, A, and its environment guide simulations of another application, B, running in the anomalous environment. This reveals faults B may experience in this environment without the expense of deployment. By accumulating these anomalies, applications can be tested against an increasing set of problematic conditions. We implemented a tool called CrashSimulator, which uses SEA, and evaluated it against Linux applications selected from coreutils and the Debian popularity contest. Our tests found a total of 63 bugs in 31 applications with effects including hangs, crashes, data loss, and remote denial of service conditions.

Original languageEnglish (US)
Title of host publicationProceedings - 2019 IEEE 30th International Symposium on Software Reliability Engineering, ISSRE 2019
EditorsKatinka Wolter, Ina Schieferdecker, Barbara Gallina, Michel Cukier, Roberto Natella, Naghmeh Ivaki, Nuno Laranjeiro
PublisherIEEE Computer Society
Pages1-12
Number of pages12
ISBN (Electronic)9781728149813
DOIs
StatePublished - Oct 2019
Event30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019 - Berlin, Germany
Duration: Oct 28 2019Oct 31 2019

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
Volume2019-October
ISSN (Print)1071-9458

Conference

Conference30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019
Country/TerritoryGermany
CityBerlin
Period10/28/1910/31/19

Keywords

  • Automated testing
  • Environmental bugs
  • Software reliability

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Charting a Course Through Uncertain Environments: SEA Uses Past Problems to Avoid Future Failures'. Together they form a unique fingerprint.

Cite this