TY - GEN
T1 - Charting a Course Through Uncertain Environments
T2 - 30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019
AU - Moore, Preston
AU - Cappos, Justin
AU - Frankl, Phyllis
AU - Wies, Thomas
PY - 2019/10
Y1 - 2019/10
N2 - 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.
AB - 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.
KW - Automated testing
KW - Environmental bugs
KW - Software reliability
UR - http://www.scopus.com/inward/record.url?scp=85081101819&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85081101819&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2019.00011
DO - 10.1109/ISSRE.2019.00011
M3 - Conference contribution
AN - SCOPUS:85081101819
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 1
EP - 12
BT - Proceedings - 2019 IEEE 30th International Symposium on Software Reliability Engineering, ISSRE 2019
A2 - Wolter, Katinka
A2 - Schieferdecker, Ina
A2 - Gallina, Barbara
A2 - Cukier, Michel
A2 - Natella, Roberto
A2 - Ivaki, Naghmeh
A2 - Laranjeiro, Nuno
PB - IEEE Computer Society
Y2 - 28 October 2019 through 31 October 2019
ER -