Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Wed 8 Jul 2020 16:05 - 16:17 at Silla - A12-Testing Chair(s): Sasa Misailovic

Puppet is a popular computer system configuration management tool. It provides abstractions that model system resources, enabling administrators to set up their computer systems. Its use suffers from two potential pitfalls. First, if ordering constraints are not correctly specified whenever a Puppet resource depends on another, the non-deterministic application of resources can lead to race conditions and consequent failures. Second, if a service is not tied to its resources (through the notification construct), the system may operate in a stale state whenever a resource gets modified and the update is not propagated to the corresponding service. Such faults can degrade a computing infrastructure’s availability and functionality.

We have developed an approach that identifies these issues through the analysis of a Puppet program and its system call trace. Specifically, we present a formal model for traces, which allows us to capture the interactions of Puppet resources with the file system. By analyzing these interactions we identify (1) resources that are related to each other (e.g., operate on the same file), and (2) resources that should act as notifiers so that changes are correctly propagated. We then check the relationships from the trace’s analysis against the program’s dependency graph: a representation containing all the ordering constraints and notifications declared in the program. If a mismatch is detected, our system reports a potential fault.

We have evaluated our method on a large set of popular Puppet modules, and discovered 66 previously unknown issues in 30 of them. Benchmarking further shows that our approach can analyze in seconds real-world configurations with a magnitude measured in thousands of lines and millions of system calls.

Wed 8 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

16:05 - 17:05
A12-TestingJournal First / New Ideas and Emerging Results / Demonstrations / Technical Papers at Silla
Chair(s): Sasa Misailovic University of Illinois at Urbana-Champaign
16:05
12m
Talk
Practical Fault Detection in Puppet ProgramsArtifact ReusableTechnicalArtifact Available
Technical Papers
Thodoris Sotiropoulos Athens University of Economics and Business, Dimitris Mitropoulos Athens University of Economics and Business, Diomidis Spinellis Athens University of Economics and Business
16:17
8m
Talk
Empirical Assessment of Multimorphic TestingJ1
Journal First
Paul Temple PReCISE, NaDi, UNamur, Mathieu Acher (Univ Rennes, Inria, IRISA), Jean-Marc Jézéquel Univ Rennes - IRISA
16:25
3m
Talk
RTj: a Java framework for detecting and refactoring rotten green test casesDemo
Demonstrations
Matias Martinez Université Polytechnique Hauts-de-France, Anne Etien Université de Lille, CNRS, Inria, Centrale Lille, UMR 9189 –CRIStAL, Stéphane Ducasse INRIA Lille, Christopher Fuhrman École de technologie supérieure
Pre-print Media Attached
16:28
6m
Talk
A Container-Based Infrastructure for Fuzzy-Driven Root Causing of Flaky TestsNIER
New Ideas and Emerging Results
Valerio Terragni Università della Svizzera Italiana, Pasquale Salza University of Zurich, Filomena Ferrucci University of Salerno
Pre-print Media Attached
16:34
12m
Talk
Learning from, Understanding, and Supporting DevOps Artifacts for DockerArtifact ReusableTechnicalArtifact Available
Technical Papers
Jordan Henkel University of Wisconsin–Madison, Christian Bird Microsoft Research, Shuvendu K. Lahiri Microsoft Research, Thomas Reps University of Wisconsin-Madison, USA
16:46
8m
Talk
Improving Change Prediction Models with Code Smell-Related InformationJ1
Journal First
Gemma Catolino Delft University of Technology, Fabio Palomba University of Salerno, Francesca Arcelli Fontana University of Milano-Bicocca, Andrea De Lucia University of Salerno, Andy Zaidman TU Delft, Filomena Ferrucci University of Salerno
DOI Pre-print
16:54
3m
Talk
SMRL: A Metamorphic Security Testing Tool for Web SystemsDemo
Demonstrations
Phu X. Mai University of Luxembourg, Arda Goknil SnT, University of Luxembourg, Fabrizio Pastore University of Luxembourg, Lionel C. Briand SnT Centre/University of Luxembourg