Map the Software DNA
  • The Prevent build monitor automatically observes every operation performed by your build system
  • The Prevent authentic compiler collects detailed knowledge of the syntax, semantics, and dependencies in your code
  • A complete compiler representation stores all knowledge collected by the authentic compiler so that the analysis engines have perfect information about the source code
  • Prevent parses both Java 1.4 and 1.5 byte code

Prevent attains a clear understanding of every operation your build system performs by incorporating a monitoring layer that sits between your build system and operating system to track every touch point between the two. This monitoring layer identifies all invoked executables as well as all files that are opened, written and read.

When Prevent identifies a call to your compiler from the build system, it performs a number of steps to understand the actions of that call and its implications on the compiled code. Prevent translates all command lines to understand exactly how the native preprocessor and compiler proper will generate executables.

An insertion layer in the build system records all unique compilations of every single file, and Prevent provides a utility that allows you to logically combine those entities into their representative coherent libraries and executables.

Prevent compiles many flavors of C and C++ code, including all major language extensions implemented by individual compilers and various dialects of C and C++. Using a pre-preprocessor, Prevent can also manipulate nonstandard constructs into semantically equivalent, standard constructs that the front-end parser can interpret and understand.

The Software DNA Map contains enough build system and source code information to construct a running program from the Software DNA Map itself. It captures all of the data that the compiler uses to generate executable code, and is also the only place where all relevant source code data resides.

While you can create an executable from the information stored in the Software DNA Map, the converse is not true. You cannot create the Software DNA Map from the information stored in any executable because build systems, compilers, and linkers all lose information as they translate source files into executables. Only Coverity’s understanding of your build system allows you to create a true Software DNA Map. There is no other way.

To learn more about how Coverity Prevent can help your business, please contact us at sales@coverity.com or call us Internationally at +1 415 321 5237 and in the US toll-free at (800) 873-8193.