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
Times are displayed in time zone: (UTC) Coordinated Universal Time

16:00 - 17:00: Configuration Management (2)Research Papers at Koala
Chair(s): Arie van DeursenDelft University of Technology, Netherlands
16:00 - 16:20
Inferring and Applying Def-Use Like Configuration Couplings in Deployment Descriptors
Research Papers
Chengyuan WenVirginia Tech, Yaxuan ZhangVirginia Tech, Xiao HeUniversity of Science and Technology Beijing, China, Na MengVirginia Tech
16:20 - 16:40
Mastering Uncertainty in Performance Estimations of Configurable Software Systems
Research Papers
Johannes DornLeipzig University, Sven ApelSaarland University, Germany, Norbert SiegmundLeipzig University
DOI Pre-print
16:40 - 17:00
Team Discussions and Dynamics During DevOps Tool Adoptions in OSS ProjectsACM Distinguished Paper
Research Papers
Likang YinUniversity of California, Davis, Vladimir FilkovUniversity of California at Davis, USA