Premium
Leveraging machine learning for software redocumentation—A comprehensive comparison of methods in practice
Author(s) -
Geist Verena,
Moser Michael,
Pichler Josef,
Santos Rodolfo,
Wieser Volkmar
Publication year - 2021
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2933
Subject(s) - computer science , heuristics , exploit , source code , machine learning , artificial intelligence , software , classifier (uml) , documentation , heuristic , key (lock) , software quality , random forest , code (set theory) , word (group theory) , natural language processing , software development , programming language , operating system , linguistics , philosophy , computer security , set (abstract data type)
Source code comments contain key information about the underlying software system. Many redocumentation approaches, however, cannot exploit this valuable source of information. This is mainly due to the fact that not all comments have the same goals and target audience and can therefore only be used selectively for redocumentation. Performing a required classification manually, for example, in the form of heuristics, is usually time‐consuming and error‐prone and strongly dependent on programming languages and guidelines of concrete software systems. By leveraging machine learning (ML), it should be possible to classify comments and thus transfer valuable information from the source code into documentation with less effort but the same quality. We applied classical ML techniques but also deep learning (DL) approaches to legacy systems by transferring source code comments into meaningful representations using, for example, word embeddings but also novel approaches using quick response codes or a special character‐to‐image encoding. The results were compared with industry‐strength heuristic classification. As a result, we found that ML outperforms the heuristics in number of errors and less effort, that is, we finally achieve an accuracy of more than 95% for an image‐based DL network and even over 96% for a traditional approach using a random forest classifier.