[PATCH] D23314: [analyzer] CloneDetector allows comparing clones for suspicious variable pattern errors.
Raphael Isemann via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 9 06:45:41 PDT 2016
teemperor created this revision.
teemperor added reviewers: v.g.vassilev, NoQ, zaks.anna.
teemperor added subscribers: cfe-commits, vsk.
One of the goals of the project was to find bugs caused by copy-pasting, which happen when a piece of code is copied but not all variables in this piece of code are correctly adapted to the new environment (e.g. like this 'if (mutex1.try_lock()) { foo(); mutex2.unlock(); }' where the mutex2 variable is a leftover from the original source code).
This patch adds support vor analyzing the pattern of the referenced variables for similar errors. So far only 'one-off' errors are supported, i.e. pattern errors where only one variable is not following the pattern of its related clones.
Additionally, the CloneChecker - which is currently the primary user of the CloneDetector API - now also supports reporting these suspicious clones.
https://reviews.llvm.org/D23314
Files:
include/clang/Analysis/CloneDetection.h
lib/Analysis/CloneDetection.cpp
lib/StaticAnalyzer/Checkers/CloneChecker.cpp
test/Analysis/copypaste/suspicious-clones.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23314.67324.patch
Type: text/x-patch
Size: 20991 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160809/413bb110/attachment-0001.bin>
More information about the cfe-commits
mailing list