Leveraging machine learning for software redocumentation - A comprehensive comparison of methods in practice.

Verena Geist, Michael Moser, Josef Pichler, Rodolfo Santos, Volkmar Wieser

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

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.

Original languageEnglish (American)
Pages (from-to)798-823
Number of pages26
JournalSoftware: Practice and Experience
Volume51
Issue number4
DOIs
Publication statusPublished - Apr 2021

Keywords

  • QR code
  • comment classification
  • heuristics
  • legacy systems
  • machine learning
  • software system documentation

Fingerprint

Dive into the research topics of 'Leveraging machine learning for software redocumentation - A comprehensive comparison of methods in practice.'. Together they form a unique fingerprint.

Cite this