TrustInSoft CI continuously detects undefined behaviors in your C and C++ code. It’s currently in beta on public GitHub repositories:

An error occurred, please try to refresh the web page.

If the problem persists, please contact the TrustInSoft support.

Not found

Signing out...

You have not launched the Analyzer yet.

The analyzer can be launched with the Explore button of an analysis.

Resuming analyzer session

Starting the analyzer

Step /

Adding in TrustInSoft CI...

User settings

Email notifications
Choose an organization:
Project Email preference
Retrieving settings...

Welcome to TrustInSoft CI

To get started, follow our introduction tutorial that explains all the fundamentals of TrustInSoft CI on a simple project.

TrustInSoft CI helps you continuously detect, understand and prove the absence of undefined behaviors in your C and C++ code.

Then feel free to select your own project below!

Select your project
Pick a public C or C++ project in your GitHub account or one of your organizations:

Retrieving projects...

The project must contain some test cases and be self-contained (all the source code including dependencies in the GitHub repository). More info

Your project is disabled or missing? You don't have admin rights for this project, or it has already been added by someone else. More info

Want to try on a simple project? Follow our tutorial

Set up the Continuous Integration with a tis.config file

For TrustInSoft CI to know how to verify your project, you need to specify at least one test configuration object in a tis.config file.

A test configuration object is a light specification in JSON of a given test in your project's test suite. For each specified test, TrustInSoft CI will detect all the undefined behaviors along the test path.

Follow these steps to write a test configuration object and set up the tis.config file:


Add a file named tis.config to your project root directory.


Populate the tis.config file with the skeleton tis.config file and configuration object below.


Update the configuration object to specify one of your tests. Learn about all the configuration options


Push the tis.config file to GitHub on the first branch that you'd like to verify.

Skeleton tis.config file

    "name": "Test name",        // Give a name to your test in TrustInSoft CI
    "files": ["main.c"],        // List all the .c and .cpp source files used by the test
    "cpp-extra-args": "-I.",    // Include all the compilation command options like if you were to compile the test
    "main": "main"              // Specify the entry point function for the test (optional, default is "main")
Almost there, start your first verification!

Select the first branch that you'd like to verify and kick-off the verification! This will make TrustInSoft CI listen to updates on any branch that has a tis.config file.

Retrieving the project branches...

Technical topics
Beyond the x86_64: developing for embedded systems without development boards

Beyond the x86_64: developing for embedded systems without development boards Introduction In embedded software development, one of the first decisions made even before application development is the choice of a hardware platform, which due to its respective constraints and capabilities, can define functionalities of the embedded system once development has begun.  To maintain flexibility so […]

GCC always assumes aligned pointer accesses

TL;DR This post shows that modern optimizing C compilers assume that the source code they are compiling respects memory alignment constraints, even if the target architecture imposes no such restriction. This can lead to compiled programs not behaving as the programmer intended. C: The Language Formerly Known as Portable Assembly Some people will tell you […]

Read more technical topics on TrustInSoft's Blog
Popular projects
Popular users
Email notification
Define which builds should provide an email notification when completed. This setting only impacts your account.
Auto cancel builds
When enabled, each new build will automatically cancel any previous running build of the same reference.
Delete project
Delete this project and its builds from TrustInSoft CI. The GitHub repository is left unchanged. This operation cannot be undone.
This project does not have any build yet.
A build is automatically started on every new commit for references with a configuration file .