Write a Blog >>
ASE 2020
Mon 21 - Fri 25 September 2020 Melbourne, Australia
Wed 23 Sep 2020 16:00 - 16:20 at Koala - Configuration Management (2) Chair(s): Arie van Deursen

When building enterprise applications on Java frameworks (e.g., Spring), developers often specify components and configure operations with a special kind of XML files named “deployment descriptors (DD)”. Maintaining such XML files is challenging and time-consuming; because (1) the correct configuration semantics is domain-specific but usually vaguely documented, and (2) existing compilers and program analysis tools rarely examine XML files. To help developers ensure the quality of DD, this paper presents a novel approach—Xeditor—that extracts configuration couplings (i.e., frequently co-occurring configurations) from DD, and adopts the coupling rules to validate new or updated files.

Xeditor has two phases: coupling extraction and bug detection. To identify couplings, Xeditor first mines DD in open-source projects, and extracts XML entity pairs that (i) frequently co-exist in the same files and (ii) hold the same data at least once. Xeditor then conducts customized association rule mining based on the extracted pairs. For bug detection, given a program commit, Xeditor checks whether any new or updated XML file violates the identified couplings; if so, Xeditor reports the violation(s).

We applied Xeditor to 4,248 DD, which were mined from 1,137 GitHub projects. Based on our manual inspection, Xeditor extracted couplings with high precision (73%). Furthermore, we built a ground truth data set based on the manual inspection results, and conducted 10-fold cross validation to evaluate Xeditor ’s effectiveness of bug detection. On average, Xeditor detected bugs with 92% precision, 96% recall, and 94% accuracy. Finally, we applied Xeditor to the version history of another 478 GitHub projects. Xeditor identified 26 really erroneous XML updates, 15 of which match the program changes later committed by developers.

Wed 23 Sep

Displayed time zone: (UTC) Coordinated Universal Time change

16:00 - 17:00
Configuration Management (2)Research Papers at Koala
Chair(s): Arie van Deursen Delft University of Technology, Netherlands
16:00
20m
Talk
Inferring and Applying Def-Use Like Configuration Couplings in Deployment Descriptors
Research Papers
Chengyuan Wen Virginia Tech, Yaxuan Zhang Virginia Tech, Xiao He University of Science and Technology Beijing, China, Na Meng Virginia Tech
16:20
20m
Talk
Mastering Uncertainty in Performance Estimations of Configurable Software Systems
Research Papers
Johannes Dorn Leipzig University, Sven Apel Saarland University, Germany, Norbert Siegmund Leipzig University
DOI Pre-print
16:40
20m
Talk
Team Discussions and Dynamics During DevOps Tool Adoptions in OSS ProjectsACM Distinguished Paper
Research Papers
Likang Yin University of California, Davis, Vladimir Filkov University of California at Davis, USA