Institute for


Includator - C/C++ Include Optimization for Eclipse CDT

Rapperswil, CH—IFS Institute for Software releases Includator, a C/C++ include structure optimizer. It analyzes dependencies of C/C++ source file structures generated by #include directives and suggests optimizations of a project’s include structure. Solutions to these structure optimizations can be applied automatically on behalf of the developer. These include structure improvement increases code readability and quality while also reducing build and development time of C/C++ software.  Includator is available at CHF 830 per seat (plus 20% maintenance fee for updates per year). Significant volume discounts apply for multi-license orders. A free 30-day evaluation license is available on request at


C and C++ are the most widely spread programming languages and are used for all relevant infrastructure on our planet. C/C++ projects often span millions of lines of code distributed over hundreds or even thousands of source and header files. Even well-designed projects develop a highly complex hierarchy of include dependencies over the years, which is often almost impossible to completely understand and manage. As a side effect, compile times rise significantly due to unnecessary dependencies.


The ability to approach such design issues by an automated static include analysis tool is a crucial advantage. Includator is the first tool that provides fully automated include-optimizations which seems to have not been achieved earlier because of the high complexity of the programming languages C and C++. Includator is tightly integrated into Eclipse CDT. After detecting potential problems while analyzing files, folders or whole projects, Includator offers to annotate problems in the C/C++ editor or to solve them right away or also later.


Includator’s features:

  • Organize Includes – for finding missing include relations and removing superfluous ones.
  • Find Unused Includes – for automatic removal and dependency reduction.
  • Directly Include Referenced Headers – for reducing fragile transitive dependencies.
  • Find Unused Files – for getting rid of dead code.