Identifying Design Problems in the Source Code: A Grounded Theory. Sousa, L. D. S., Oliveira, A., Oizumi, W., Barbosa, S., Garcia, A., Lee, J., Kalinowski, M., de Mello, R., Neto, B., Oliveira, R., Lucena, C., & Paes, R. In 40th IEEE/ACM International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, May 27-Jun 3, pages 921–931, 2018. ACM Distinguished Paper Award!Author version doi abstract bibtex 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.
@inproceedings{SousaOOBGLKMNOLP18,
author = {Leonardo Da Silva Sousa and
Anderson Oliveira and
Willian Oizumi and
Simone Barbosa and
Alessandro Garcia and
Jaejoon Lee and
Marcos Kalinowski and
Rafael de Mello and
Baldoino Neto and
Roberto Oliveira and
Carlos Lucena and
Rodrigo Paes},
title = {Identifying Design Problems in the Source Code: A Grounded Theory},
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.},
booktitle = {40th {IEEE/ACM} International Conference on Software Engineering, {ICSE} 2018, Gothenburg, Sweden, May 27-Jun 3},
pages = {921--931},
note = {<font color="red">ACM Distinguished Paper Award!</font>},
year = {2018},
urlAuthor_version = {http://www.inf.puc-rio.br/~kalinowski/publications/SousaOOBGLKMNOLP18.pdf},
doi = {10.1145/3180155.3180239},
}
Downloads: 0
{"_id":"ZppN5vwtGqphcfzo3","bibbaseid":"sousa-oliveira-oizumi-barbosa-garcia-lee-kalinowski-demello-etal-identifyingdesignproblemsinthesourcecodeagroundedtheory-2018","downloads":6,"creationDate":"2018-01-23T16:15:27.773Z","title":"Identifying Design Problems in the Source Code: A Grounded Theory","author_short":["Sousa, L. D. S.","Oliveira, A.","Oizumi, W.","Barbosa, S.","Garcia, A.","Lee, J.","Kalinowski, M.","de Mello, R.","Neto, B.","Oliveira, R.","Lucena, C.","Paes, R."],"year":2018,"bibtype":"inproceedings","biburl":"https://bibbase.org/f/2Gq6bNPQ845THHiMW/KalinowskiPapers.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Leonardo","Da","Silva"],"propositions":[],"lastnames":["Sousa"],"suffixes":[]},{"firstnames":["Anderson"],"propositions":[],"lastnames":["Oliveira"],"suffixes":[]},{"firstnames":["Willian"],"propositions":[],"lastnames":["Oizumi"],"suffixes":[]},{"firstnames":["Simone"],"propositions":[],"lastnames":["Barbosa"],"suffixes":[]},{"firstnames":["Alessandro"],"propositions":[],"lastnames":["Garcia"],"suffixes":[]},{"firstnames":["Jaejoon"],"propositions":[],"lastnames":["Lee"],"suffixes":[]},{"firstnames":["Marcos"],"propositions":[],"lastnames":["Kalinowski"],"suffixes":[]},{"firstnames":["Rafael"],"propositions":["de"],"lastnames":["Mello"],"suffixes":[]},{"firstnames":["Baldoino"],"propositions":[],"lastnames":["Neto"],"suffixes":[]},{"firstnames":["Roberto"],"propositions":[],"lastnames":["Oliveira"],"suffixes":[]},{"firstnames":["Carlos"],"propositions":[],"lastnames":["Lucena"],"suffixes":[]},{"firstnames":["Rodrigo"],"propositions":[],"lastnames":["Paes"],"suffixes":[]}],"title":"Identifying Design Problems in the Source Code: A Grounded Theory","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.","booktitle":"40th IEEE/ACM International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, May 27-Jun 3","pages":"921–931","note":"<font color=\"red\">ACM Distinguished Paper Award!</font>","year":"2018","urlauthor_version":"http://www.inf.puc-rio.br/~kalinowski/publications/SousaOOBGLKMNOLP18.pdf","doi":"10.1145/3180155.3180239","bibtex":"@inproceedings{SousaOOBGLKMNOLP18,\r\n author = {Leonardo Da Silva Sousa and \r\n\t\t\t Anderson Oliveira and\r\n\t\t\t Willian Oizumi and\r\n\t\t\t Simone Barbosa and\r\n\t\t\t Alessandro Garcia and \r\n\t\t\t Jaejoon Lee and \r\n\t\t\t Marcos Kalinowski and \r\n\t\t\t Rafael de Mello and\r\n\t\t\t Baldoino Neto and \r\n\t\t\t Roberto Oliveira and \r\n\t\t\t Carlos Lucena and\r\n\t\t\t Rodrigo Paes}, \r\n title = {Identifying Design Problems in the Source Code: A Grounded Theory},\r\n 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\r\n\t\t\t\tcode 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\r\n\t\t\t\texperiment 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\r\n\t\t\t\ttypes 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.},\r\n booktitle = {40th {IEEE/ACM} International Conference on Software Engineering, {ICSE} 2018, Gothenburg, Sweden, May 27-Jun 3},\r\n pages = {921--931},\r\n note = {<font color=\"red\">ACM Distinguished Paper Award!</font>}, \r\n year = {2018},\r\n urlAuthor_version = {http://www.inf.puc-rio.br/~kalinowski/publications/SousaOOBGLKMNOLP18.pdf},\r\n doi = {10.1145/3180155.3180239},\r\n}\r\n\r\n","author_short":["Sousa, L. D. S.","Oliveira, A.","Oizumi, W.","Barbosa, S.","Garcia, A.","Lee, J.","Kalinowski, M.","de Mello, R.","Neto, B.","Oliveira, R.","Lucena, C.","Paes, R."],"key":"SousaOOBGLKMNOLP18","id":"SousaOOBGLKMNOLP18","bibbaseid":"sousa-oliveira-oizumi-barbosa-garcia-lee-kalinowski-demello-etal-identifyingdesignproblemsinthesourcecodeagroundedtheory-2018","role":"author","urls":{"Author version":"http://www.inf.puc-rio.br/~kalinowski/publications/SousaOOBGLKMNOLP18.pdf"},"metadata":{"authorlinks":{"kalinowski, m":"https://www-di.inf.puc-rio.br/~kalinowski/publications.html"}},"html":""},"search_terms":["identifying","design","problems","source","code","grounded","theory","sousa","oliveira","oizumi","barbosa","garcia","lee","kalinowski","de mello","neto","oliveira","lucena","paes"],"keywords":[],"authorIDs":["2B3zZtfuH9AmxpWuo","2QsG9mfJnwX6MTuoJ","2jrFxieEqzijPmHCy","49dv4suCFf46nEFSX","59a4710e2e4566ba6f00002f","5A6un3HSxZaPDiXPA","5BTmBrmMozf6YgG5J","5Xaa4eConBa76EZjB","5de815459b61e8de01000279","5dedbd05e47c43de01000074","5df2323f1e4fe9df010001ab","5df8262ddc1981de0100002b","5dfc0a4fb371afde010000ae","5e00d4f7ea72ecdf01000031","5e177d32cf35a4de010000b2","5e1c542be556c6de010000e5","5e24c7d1981ceddf01000056","5e273928557b88de0100018d","5e29e136888177df01000188","5e29e9bd8fb0e6de01000033","5e29ed5f8fb0e6de01000066","5e29edf08fb0e6de01000076","5e2f5ae926e5cadf0100022e","5e3731a0646a98de010001e3","5e3e9fdc8fc127df01000078","5e45b6010920e8de01000031","5e4dffdbcc196bde01000144","5e57fed4a38020de0100012b","5e5ea112c0a53dde010002a9","5e5f20398ca867de0100007b","5e5feba85241b5de01000152","5e612a1f97c182e901000006","5e62e7723ba99bdf0100011b","5e681423c1fce0de010003f7","5e6829e0dfcfe3de010002d5","5e68ed471a389bdf010002fe","5e692ffd6964dedf01000037","5e6a42a0e3f54ade0100021d","6QPwdbn4oBshmv7s4","6dqbLtPtqmDfPtn76","7NssSDosapMwtTvug","7qizdca9gsw4HKauB","7rCPkhvup9LNQxuFs","9qNKNW92qhDZCwqc9","9zsfZu5qMELTmAhjx","AKLEQwiRMbTHnbbxP","B3j35ujgEN7NnDuao","BC6rKyeyBW4rnvBoD","BEXQaGSxnsXwH6ywH","BWc4GQhzJPEzBWCii","BWrEB42G2rZBhMXWP","BoieZoFeBMJdL7szA","C3QHjz3o9QHY2KM5z","CDoE7ubzqSgQDw4No","D9yfAL4Cz9raPXGYt","DMAfbTM8MTudubAmg","E3kQ5FnruEw9rpydE","EQmGWRtm5iTqAJr79","EjYMP7BmZWnnCe2G9","Fjz6zCPk6dhrQh7ak","GfRgLSdsCnJcxHqk5","H9jTFvgcfA2frDvhj","J68AKX8noZCCaTSTC","JX7K3iwdPuCFmXLSK","KY7XQ7o9dYKbPfNvZ","LAPXFimEzgfLvJ3x5","NXfXCuu5e8PLD9tjP","NcXBcwHjnnYsqtJwj","P3xQviDsAA5Nyepbh","Q5HhB8XwWxviNHds8","QNZis6ZZX7Yjbx8dE","Qc6N7XXPtrqPpoz4E","SX7EYSkFddyzaBm6X","TEfrhfD2aFrBZaPoC","TdDrDsjDeT5x75mSb","X52u8rd5YXy5LA7un","XJLfEnjtpExqCJZaW","XMNYKpR8WAFvirRqK","XihJbHkzXLgRtNyxn","XsXTSrDqyDoKDSmNq","YqBvGBJjQxyDSh7S5","YyAJT6vXC6BKreqDz","Zrx3awt824zfj7sSq","auNZr9WLsGE5yM95y","dFvjKbaZaDAq7ckZJ","dPKdaA8smJs9fD9aK","e3dB4oaTL7GMfFgxK","eNvtiALsMm2uYYycD","eyyzX9y5xtqzMnTRj","gz3th4fHvqAew9t4d","hXHpEcrrfJ2s2iYfG","hdQfGGPRY6SRzm5Ko","iMFD4aggCkDpRbjzY","iSDp642Wcpz8tx3Et","idw5XK3YYZ9zoiTRQ","jQSpXNQ9zGdK9MNg5","jnzKc2JyGfzCkYHhd","juFRAZ7Ght5WjDjmL","k3N5QRHDiN6riZiAM","kd57C3edL7i8Wd84N","mfAwYkjQak83CbSTc","nrZNNBXjpC2enCsS6","o8dowv3jmQXqEKvC2","oab566NG74uXsBmwv","pAEkuNSzoQMJv6HEA","pPPN4e9LKJdN8Mxxy","pRJmqmExQ3P4YnarG","pcdRpqFz4kQKG67b2","peFdo2JYEZeDcgz5y","pmHQ27YZJtYA8bWLb","qRaeFjmTD9bcnWRpS","qujKQpt7j7DMJJ7RH","rhwhwtMA472RbPiq4","sgMZQR6tjyrtQJMjs","th5Bb6GjMT6NDynxY","tkio9AppMC7RRAmn3","up5b9JPmGJAE7cKzM","wE7ePiMnAtpNHo5xB","wjubqSThzCzkZtY4R","wuZMB8CeGEzZRou5r","x98pJyoike8bxbRn6","xSybShZMHQMQ8yMSF","xerEPhmhSdZJXb6QX","yqEQy2HisnquBmuLK","yvRZvxhXXSADSSiod","z8Hfj7RHYQjKdxD2H","zGAYQbmvDTTNydwuA"],"dataSources":["JhEx5LqjNuowkDTYw","vp6ff9ZJkhXGDuh9E","FPdHx2YNMWt6KHbaS","oL8GbjE74fizfjkxY","Wbj3iHa4hGsGjEGJE","q7rgFjFgwoTSGkm3G","aKfxcyv7C9p9ytdpG","9pAzChfPy53GguqQk","B8Jierr7smZsGa7Jb","tvqztEQv84agmtPEB","FGDKYBjH9upApdKoL"]}