Inferring and Applying Def-Use Like Configuration Couplings in Deployment Descriptors
Chengyuan Wen, Yaxuan Zhang, Xiao He, Na Meng
Abstract
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 coexist in the same files and (ii) hold the same data at least once. Xeditor then applies customized association rule mining to the extracted pairs. For bug detection, given a new XML file, Xeditor checks whether the file violates any coupling; if so, Xeditor reports the violation(s). For evaluation, we first created two data sets with the 4,248 DD mined from 1,137 GitHub projects. According to the experiments with these data sets, Xeditor extracted couplings with high precision (73%); it detected bugs with 92% precision, 96% recall, and 94% accuracy. Additionally, we applied Xeditor to the version history of another 478 GitHub projects. Xeditor identified 25 very suspicious XML updates, 15 of which were later fixed by developers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext d8198ca7-0a0c-4724-8501-4886a3bb8d5fCited by top-tier papers3
- Finding broken Linux configuration specifications by statically analyzing the Kconfig languageJeho Oh, Necip Fazil Yildiran, Julian Braha, Paul GazzilloFSE 2021 · 46 citations
- An Evolutionary Study of Configuration Design and Implementation in Cloud SystemsYuanliang Zhang, Haochen He, Owolabi Legunsen, Shanshan Li et al.ICSE 2021 · 19 citations
- Detecting Metadata-Related Bugs in Enterprise ApplicationsMd Mahir Asef Kabir, Xiaoyin Wang, Na MengFSE 2025 · 1 citation
Related papers
- Characterizing and Detecting Configuration Compatibility Issues in Android AppsHuaxun Huang, Ming Wen, Lili Wei, Yepang Liu et al.ASE 2021 · 15 citations
- ConfFix: Repairing Configuration Compatibility Issues in Android AppsHuaxun Huang, Chi Xu, Ming Wen, Yepang Liu et al.ISSTA 2023 · 10 citations
- Do code refactorings influence the merge effort?André Oliveira, Vânia Neves, Alexandre Plastino, Ana Carla Bibiano et al.ICSE 2023 · 5 citations
- Learning Patterns in ConfigurationRanjita Bhagwan, Sonu Mehta, Arjun Radhakrishna, Sahil GargASE 2021 · 11 citations
- Rex: Preventing Bugs and Misconfiguration in Large Services Using Correlated Change AnalysisSonu Mehta, Ranjita Bhagwan, Rahul Kumar, Chetan Bansal et al.NSDI 2020 · 65 citations
