This repository has been archived by the owner on Mar 30, 2021. It is now read-only.
forked from llvm-mirror/clang
-
Notifications
You must be signed in to change notification settings - Fork 10
Memcached XTU Analysis
Whisperity edited this page Jan 26, 2017
·
8 revisions
Memcached without xtu - clang 4.0 http://cc.elte.hu:8080/#run=3
###Summary
Analyzed project | All Non-CTU Findings (baseline) | All CTU Findings | New CTU findings | Disappeared findings | Successfully analyzed | Failed to analyze | Analysis Time (baseline)[s] | Analysis Time XTU (1st Phase + 2nd Phase)[s] | Median of bug path length (BPL) in baseline | Median of BPL CTU | Median of BPL of new findings | Median of BPL of disappeared findings |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Curl | 17 | 30 | 14 | 3 | 35 files | 0 files | 26.91 | 42.82 | 9.5 | 8 | 8.5 | 58 |
Checker ID | Number of new findings |
---|---|
core.CallAndMessage | 2 |
core.DivideZero | 1 |
core.NonNullParamChecker | 2 |
core.NullDereference | 2 |
core.uninitialized.Assign | 3 |
unix.Malloc | 4 |
- memcached core.NonNullParamChecker http://cc.elte.hu:8080/#baseline=61&newcheck=62&report=6848
- cache.c unix.MallocSizeof http://cc.elte.hu:8080/#run=62&report=6820 http://cc.elte.hu:8080/#run=62&report=6824
in the last but one version there were lost true positives, but this version performed much better in this respect
- slabs.c core.NullDereference http://cc.elte.hu:8080/#run=62&report=6822 http://cc.elte.hu:8080/#run=62&report=6823 http://cc.elte.hu:8080/#run=62&report=6825
- memcached.c deadcode.DeadStores http://cc.elte.hu:8080/#run=62&report=6826 http://cc.elte.hu:8080/#run=62&report=6827 http://cc.elte.hu:8080/#run=62&report=6830 http://cc.elte.hu:8080/#run=62&report=6832
- testapp.c deadcode.DeadStores http://cc.elte.hu:8080/#run=62&report=6844
- memcached.c unix.API http://cc.elte.hu:8080/#run=62&report=6846
###New true positives
- MOST IMPORTANT XTU-SPECIFIC finding: memcached.c core.DivideZero http://cc.elte.hu:8080/#run=62&report=6833 safe_strtol sets the output c-string to null, and if a range overflow error happens (or str == endptr, see line 126 in util.c), it remains null.
- items.c core.uninitialized.Assign if allocation fails, there is a branch, where a -= operator is called with unitialized value on the left side
- Home
- Usage of CTU Analysis
- Compilation
- Develop and debug CTU
EuroLLVM
'17 Extended abstract- Open source project analyzed with CTU
- External resources