Rights statement: © ACM, 2018. This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in ICSE '18 Proceedings of the 40th International Conference on Software Engineering http://dx.doi.org/10.1145/3180155.3180239
Accepted author manuscript, 740 KB, PDF document
Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License
Final published version
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
}
TY - GEN
T1 - Identifying Design Problems in the Source Code
T2 - ICSE 40th International Conference on Software Engineering
AU - Sousa, Leonardo
AU - Oliveira, Roberto
AU - Garcia, Alessandro
AU - Lee, Jaejoon
AU - Conte, Tanya
AU - de Mello, Rafael
AU - Lopes, Adriana
AU - Lucena, Carlos
N1 - Conference code: 40th
PY - 2018/5/29
Y1 - 2018/5/29
N2 - 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 explanationson how developers identify design problems in practice. For instance, it reveals the characteristics of symptoms that developers consider helpful. Moreover, developers often combine differenttypes 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.
AB - 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 explanationson how developers identify design problems in practice. For instance, it reveals the characteristics of symptoms that developers consider helpful. Moreover, developers often combine differenttypes 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.
U2 - 10.1145/3180155.3180239
DO - 10.1145/3180155.3180239
M3 - Conference contribution/Paper
SN - 9781450356381
SP - 921
EP - 931
BT - ICSE '18 Proceedings of the 40th International Conference on Software Engineering
PB - ACM
CY - New York
Y2 - 27 May 2018 through 3 June 2018
ER -