kirancodes.me
To Proof Maintenance & Beyond!
ICSE 2018★ Award

Identifying design problems in the source code: a grounded theory

Leonardo da Silva Sousa, Anderson Oliveira, Willian Nalepa Oizumi, Simone D. J. Barbosa, Alessandro Garcia, Jaejoon Lee, Marcos Kalinowski, Rafael Maiani de Mello, Baldoino Fonseca, Roberto Felicio Oliveira, Carlos Lucena, Rodrigo B. de Paes

Abstract

The prevalence of design problems may cause re-engineering or even discontinuation of the system. Due to missing, informal or outdated design documentation, developers often have to rely on the source code to identify design problems. Therefore, developers have to analyze different symptoms that manifest in several code elements, which may quickly turn into a complex task. Although researchers have been investigating techniques to help developers in identifying design problems, there is little knowledge on how developers actually proceed to identify design problems. In order to tackle this problem, we conducted a multi-trial industrial experiment with professionals from 5 software companies to build a grounded theory. The resulting theory offers explanations on how developers identify design problems in practice. For instance, it reveals the characteristics of symptoms that developers consider helpful. Moreover, developers often combine different types of symptoms to identify a single design problem. This knowledge serves as a basis to further understand the phenomena and advance towards more effective identification techniques.

BibTeX
@inproceedings{Sousa-al:ICSE18,
  author    = {Leonardo da Silva Sousa and
               Anderson Oliveira and
               Willian Nalepa Oizumi and
               Simone D. J. Barbosa and
               Alessandro Garcia and
               Jaejoon Lee and
               Marcos Kalinowski and
               Rafael Maiani de Mello and
               Baldoino Fonseca and
               Roberto Felicio Oliveira and
               Carlos Lucena and
               Rodrigo B. de Paes},
  title     = {Identifying design problems in the source code: a grounded theory},
  booktitle = {ICSE},
  pages     = {921--931},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers