Skip to main navigation Skip to search Skip to main content

Pride: Prioritizing Documentation Effort Based on a PageRank-Like Algorithm and Simple Filtering Rules

  • Weifeng Pan
  • , Hua Ming
  • , Dae Kyoo Kim
  • , Zijiang Yang
  • Zhejiang Gongshang University
  • Oakland University

Research output: Contribution to journalArticlepeer-review

19 Scopus citations

Abstract

Code documentation can be helpful in many software quality assurance tasks. However, due to resource constraints (e.g., time, human resources, and budget), programmers often cannot document their work completely and timely. In the literature, two approaches (one is supervised and the other is unsupervised) have been proposed to prioritize documentation effort to ensure the most important classes to be documented first. However, both of them contain several limitations. The supervised approach overly relies on a difficult-to-obtain labeled data set and has high computation cost. The unsupervised one depends on a graph representation of the software structure, which is inaccurate since it neglects many important couplings between classes. In this paper, we propose an improved approach, named Pride, to prioritize documentation effort. First, Pride uses a weighted directed class coupling network to precisely describe classes and their couplings. Second, we propose a PageRank-like algorithm to quantify the importance of classes in the whole class coupling network. Third, we use a set of software metrics to quantify source code complexity and further propose a simple but easy-to-operate filtering rule. Fourth, we sort all the classes according to their importance in descending order and use the filtering rule to filter out unimportant classes. Finally, a threshold kk is utilized, and the top-kk% ranked classes are the identified important classes to be documented first. Empirical results on a set of nine software systems show that, according to the average ranking of the Friedman test, Pride is superior to the existing approaches in the whole data set.

Original languageEnglish
Pages (from-to)1118-1151
Number of pages34
JournalIEEE Transactions on Software Engineering
Volume49
Issue number3
DOIs
StatePublished - 1 Mar 2023

Keywords

  • Code documentation
  • PageRank
  • program comprehension
  • software maintenance
  • software metrics

Fingerprint

Dive into the research topics of 'Pride: Prioritizing Documentation Effort Based on a PageRank-Like Algorithm and Simple Filtering Rules'. Together they form a unique fingerprint.

Cite this