[PATCH] D20689: [clang-tidy] Suspicious Call Argument checker
Alexander Kornienko via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 21 08:08:03 PDT 2017
alexfh added a comment.
In https://reviews.llvm.org/D20689#871947, @barancsuk wrote:
> @alexfh, would you mind taking a look at the changes that have been introduced in the new patch?
>
> The main improvements are:
>
> - The checker has been shifted to the module `readability`.
> - It is checked, whether implicit type conversion is possible from the argument to the parameter.
>
> I have run the modified checker on some large code bases with the following results: (The errors were categorized subjectively.)
> - **PostgreSQL:** 32 renaming opportunities of 39 warnings
> - **Cpython:** 10 renaming opportunities of 15 warnings
> - **Xerces:** 6 renaming opportunities of 8 warnings
> - **FFmpeg**: 5 renaming opportunities of 9 warnings
> - **OpenSSL:** 3 renaming opportunities of 4 warnings
> - **LLVM:** 20 renaming opportunities of 44 warnings
Is there a list of all the warnings? I'd like to take a closer look.
> This article provides some evidence to support the feasibility of the checker as well.
> F5358417: icse2016-names.pdf <https://reviews.llvm.org/F5358417>
> The authors have proven that argument names are generally very similar to the corresponding parameters' names.
> The presented empirical evidence also shows, that argument and parameter name dissimilarities are strong indicators of incorrect argument usages, or they identify renaming opportunities to improve code readability.
> Moreover, the authors have even found 3 existing bugs in open source projects.
https://reviews.llvm.org/D20689
More information about the cfe-commits
mailing list