[go: up one dir, main page]

Menu

#79 Try out code checkers and sanitizers

0.2.1
done
nobody
None
nobody
2017-12-15
2017-02-28
Ulf Lorenz
No

Besides being a compiler, clang has a few nice tools for code improvements and error checking. Other tools also exist. In particular:

  • clang-tidy
  • clang++ --analyze
  • AddressSanitizer
  • MemorySanitizer
  • UndefinedBehaviorSanitizer
  • cppcheck
  • increased warning level

These tools should be tried out against the current code. In addition, if possible, the required infrastructure etc. should be added so that these tools can be tried out regularily. In particular:

  • adapt the CMake build to be able to use these tools
  • have targets that use the sanitizers on all demos and/or tests

Related

Tickets: #86

Discussion

  • Ulf Lorenz

    Ulf Lorenz - 2017-11-11
    • Milestone: Backlog --> 0.3 goal
     
  • Ulf Lorenz

    Ulf Lorenz - 2017-12-04
    • status: open --> assigned
    • assigned_to: Ulf Lorenz
    • Milestone: 0.3 goal --> 0.2.1
     
  • Ulf Lorenz

    Ulf Lorenz - 2017-12-04
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -6,6 +6,7 @@
     * MemorySanitizer
     * UndefinedBehaviorSanitizer
     * cppcheck
    +* increased warning level
    
     These tools should be tried out against the current code. In addition, if possible, the required infrastructure etc. should be added so that these tools can be tried out _regularily_. In particular:
    
     
  • Ulf Lorenz

    Ulf Lorenz - 2017-12-15
    • status: assigned --> done
    • assigned_to: Ulf Lorenz --> nobody
     
  • Ulf Lorenz

    Ulf Lorenz - 2017-12-15

    Tried everything out, fixed very small issues arising during testing

    • The memory sanitizer requires a major effort to get it to work; dropped
    • clang-tidy: I am not quite sure what I wanted to do here
    • CMake build has not been adapted; manual recompilation is required
    • added coverage analysis; excluding one known issue, the coverage is around 99%.
     

Log in to post a comment.