Software Configuration Engineering in Practice Interviews, Survey, and Systematic Literature Review

TitreSoftware Configuration Engineering in Practice Interviews, Survey, and Systematic Literature Review
Publication TypeJournal Article
Year of Publication2020
AuthorsSayagh, M, Kerzazi, N, Adams, B, Petrillo, F
JournalIEEE Transactions on Software Engineering
Volume46
Pagination646-673
Mots-clésApplication programs, Bibliographies, Codes (symbols), Errors, Facebook, Interviews, Program debugging, Software algorithms, Software systems, Surveys, Systematics
Abstract

Modern software applications are adapted to different situations (e.g., memory limits, enabling/disabling features, database credentials) by changing the values of configuration options, without any source code modifications. According to several studies, this flexibility is expensive as configuration failures represent one of the most common types of software failures. They are also hard to debug and resolve as they require a lot of effort to detect which options are misconfigured among a large number of configuration options and values, while comprehension of the code also is hampered by sprinkling conditional checks of the values of configuration options. Although researchers have proposed various approaches to help debug or prevent configuration failures, especially from the end users' perspective, this paper takes a step back to understand the process required by practitioners to engineer the run-time configuration options in their source code, the challenges they experience as well as best practices that they have or could adopt. By interviewing 14 software engineering experts, followed by a large survey on 229 Java software engineers, we identified 9 major activities related to configuration engineering, 22 challenges faced by developers, and 24 expert recommendations to improve software configuration quality. We complemented this study by a systematic literature review to enrich the experts' recommendations, and to identify possible solutions discussed and evaluated by the research community for the developers' problems and challenges. We find that developers face a variety of challenges for all nine configuration engineering activities, starting from the creation of options, which generally is not planned beforehand and increases the complexity of a software system, to the non-trivial comprehension and debugging of configurations, and ending with the risky maintenance of configuration options, since developers avoid touching and changing configuration options in a mature system. We also find that researchers thus far focus primarily on testing and debugging configuration failures, leaving a large range of opportunities for future work. © 1976-2012 IEEE.

URLhttps://www.scopus.com/inward/record.uri?eid=2-s2.0-85052624554&doi=10.1109%2fTSE.2018.2867847&partnerID=40&md5=f1b2d51b59522e24e5c52f064a62d00b
DOI10.1109/TSE.2018.2867847
Revues: 

Partenaires

Localisation

Suivez-nous sur

         

    

Contactez-nous

ENSIAS

Avenue Mohammed Ben Abdallah Regragui, Madinat Al Irfane, BP 713, Agdal Rabat, Maroc

  Télécopie : (+212) 5 37 68 60 78

  Secrétariat de direction : 06 61 48 10 97

        Secrétariat général : 06 61 34 09 27

        Service des affaires financières : 06 61 44 76 79

        Service des affaires estudiantines : 06 62 77 10 17 / n.mhirich@um5s.net.ma

        Résidences : 06 61 82 89 77

Contacts

    

    Compteur de visiteurs:620,358
    Education - This is a contributing Drupal Theme
    Design by WeebPal.