Overview

  1. Core Cppcheck
    1. Add a new checker (C++)
    2. Improved value flow (C++)
  2. Configurations
    1. Write more configurations (XML)
    2. Auto generate configuration (C++ / scripting)
    3. GUI for editing configurations (C++,Qt)
  3. Distributed computing
    1. Distributed computing (C++)
  4. 1. Core Cppcheck

    Project 1.1
    Name: Add a new checker
    Skills required: C++
    Description: There are several tickets in our issue tracker that has ideas for new checkers. The subtasks will be: implement a new checker, write test cases, test it against various projects.

    Project 1.2
    Name: Improved value flow
    Skills required: C++
    Description: The value flow analysis is used by various checkers - therefore improving this will mean that many checkers get better. It is possible to improve the value flow analysis, for example after conditions, inside loops, etc.

    2. Configurations

    Project 2.1
    Name: Write more configurations
    Skills required: XML
    Description: More configuration files are needed for various libraries. It would be most interesting to have more configurations for popular libraries.

    Project 2.2
    Name: Autogenerated configurations
    Skills required: C++ / scripting
    Description: Auto generate configuration from headers. To parse the headers, you can for instance do this yourself (python script/c++/..) or you can modify cppcheck and use the symboldatabase.

    Project 2.3
    Name: GUI for editing configurations
    Skills required: C++, Qt
    Description: A graphical user interface for editing configurations would be nice. This should be added in the cppcheck-gui program.

    3. Distributed computing

    Project 3.1
    Name: Distributed computing
    Skills required: Network, script, C++
    Description: Make it possible to distribute analysis. A client and server needs to be written. The client will execute cppcheck to perform analysis.