  Most software maintenance and evolution tasks require developers to
understand the source code of their software systems. Software developers
usually inspect class comments to gain knowledge about program behavior,
regardless of the programming language they are using. Unfortunately, (i)
different programming languages present language-specific code commenting
notations/guidelines; and (ii) the source code of software projects often lacks
comments that adequately describe the class behavior, which complicates program
comprehension and evolution activities.
  To handle these challenges, this paper investigates the different
language-specific class commenting practices of three programming languages:
Python, Java, and Smalltalk. In particular, we systematically analyze the
similarities and differences of the information types found in class comments
of projects developed in these languages.
  We propose an approach that leverages two techniques, namely Natural Language
Processing and Text Analysis, to automatically identify various types of
information from class comments i.e., the specific types of semantic
information found in class comments. To the best of our knowledge, no previous
work has provided a comprehensive taxonomy of class comment types for these
three programming languages with the help of a common automated approach. Our
results confirm that our approach can classify frequent class comment
information types with high accuracy for Python, Java, and Smalltalk
programming languages. We believe this work can help to monitor and assess the
quality and evolution of code comments in different program languages, and thus
support maintenance and evolution tasks.
