From: George Karpenkov
New checkers which were contributed to the analyzer, but have not passed a rigorous evaluation process, are committed as "alpha checkers" (from "alpha version"), - and are not enabled by default. + and are not enabled by default.
- Ideally, only the checkers which are actively being worked on should be in +Ideally, only the checkers which are actively being worked on should be in "alpha", but over the years the development of many of those has stalled. - Such checkers need a cleanup: - checkers which have been there for a long time should either - be improved up to a point where they can be enabled by default, - or removed, if such an improvement is not possible. - Most notably, these checkers could be "graduated" out of alpha - if a consistent effort is applied: + Such checkers should either be improved + up to a point where they can be enabled by default, + or removed from the analyzer entirely.
alpha.security.ArrayBound
and
@@ -48,7 +45,7 @@ mailing list to notify other members of the community.
loop widening support.
Additionally, it might be more promising to perform index checking based on
tainted index values.
- (Difficulty: Medium)
+ (Difficulty: Medium)
alpha.cplusplus.MisusedMovedObject
@@ -58,7 +55,7 @@ mailing list to notify other members of the community.
which have a well-defined semantics for use-after-move.
This property does not hold for STL objects, but is often the case
for custom containers.
- (Difficulty: Medium)
+ (Difficulty: Medium)
alpha.unix.StreamChecker
@@ -79,7 +76,7 @@ mailing list to notify other members of the community.
Aggregates @@ -99,7 +96,7 @@ mailing list to notify other members of the community.
CXXConstructExpr::CK_NonVirtualBase
branch of
ExprEngine::VisitCXXConstructExpr()
with proper support for the feature.
- (Difficulty: Medium)
+ (Difficulty: Medium)
new[]
@@ -139,14 +136,14 @@ mailing list to notify other members of the community.
large gains can be achieved by supporting only a few cases:
e.g. calling .length()
on an empty
std::string
always yields zero.
- (Difficulty: Medium)+
(Difficulty: Medium)
Currently exceptions are treated as "black holes", and exception-handling control structures are poorly modeled in order to be conservative. This could be improved for both C++ and Objective-C exceptions. - (Difficulty: Medium)
+(Difficulty: Hard)
(Difficulty: Medium)
X == X
is always true, since it does not hold for NaN
).
- (Difficulty: Medium)
+ (Difficulty: Medium)
(Difficulty: Hard)
+
(Difficulty: Hard)
(Difficulty: Hard)
(Difficulty: Medium)
(Difficulty: Anything)