UNDER THE HOOD

CodeAi finds and fixes software defects via a 4-phased user centric process.

 
 
find.png

PHASE 1: FIND

CodeAi begins by statically analyzing your code to identify potential security defects (CWEs).

 
generate.png

PHASE 2: GENERATE

Using information from the static analysis results, CodeAi generates a set of possible fixes that are common to many software applications.

 
validate.png

PHASE 3: VALIDATE

The set of generated fixes are applied to the code one-by-one and compiled. Those that successfully compile are reanalyzed by the static analyzer to verify that the targeted defect is removed in the static analysis results without introducing a new defect. Optionally, the user may also specify an automated test suite to verify that the fixes do not introduce regressions in the code with respect to said test suite. These validated fixes are presented to the end user and can either be accepted or declined.

 
validate.png

PHASE 4: LEARN

CodeAi collects anonymous usage data based on user interaction with the system to improve its performance over time. This data is mined for additional fixes that can be incorporated into the core fix generation algorithms and collected as training data to improve the deep learning component, which enhances the speed and precision of the find, generate, and validate components.