Leveraging machine learning for software redocumentation – A eomprehensive comparison of methods in practice
|V. Geist, M. Moser, J. Pichler, R. Santos de Andrade, V. Wieser. Leveraging machine learning for software redocumentation – A eomprehensive comparison of methods in practice. Journal of Software: Practice and Experience, pages online first, DOI 10.1002/spe.2933, 11, 2020.|
|Journal||Journal of Software: Practice and Experience|
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.