[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