  In software development and maintenance, code comments can help developers
understand source code, and improve communication among developers. However,
developers sometimes neglect to update the corresponding comment when changing
the code, resulting in outdated comments (i.e., inconsistent codes and
comments). Outdated comments are dangerous and harmful and may mislead
subsequent developers. More seriously, the outdated comments may lead to a
fatal flaw sometime in the future. To automatically identify the outdated
comments in source code, we proposed a learning-based method, called CoCC, to
detect the consistency between code and comment. To efficiently identify
outdated comments, we extract multiple features from both codes and comments
before and after they change. Besides, we also consider the relation between
code and comment in our model. Experiment results show that CoCC can
effectively detect outdated comments with precision over 90%. In addition, we
have identified the 15 most important factors that cause outdated comments, and
verified the applicability of CoCC in different programming languages. We also
used CoCC to find outdated comments in the latest commits of open source
projects, which further proves the effectiveness of the proposed method.
