Competitors
Set up (consulting)
Parse language by language
Serial iterations PER RULE:
  Line of code > grep
  Line of code > grep
  Line of code > grep
  Line of code > grep
  Line of code > grep
× rules to grep…
× function counts…
× other analysis…
DAYS exec for ~20M lines
(on a VERY big box)
Operationalize (consulting)
VeriPrism
Point at code base
Automatically identify languages
Parse/Lex in one pass
Parallel rule scans & counts
Client-specific custom rules
~1M Lines per HOUR
(on a small 2 core 4gb AWS T3.medium box)
Operationalize = read results → act
Differentiators
Competitors require custodial access to client code or significant configuration to access the code. VeriPrism simply needs to be pointed at the top level code and then will automatically analyze all source code called by the top level or subsequent levels. Consultative configuration is typically not required.
VeriPrism competitors require configuration at some very basic levels. The most basic, is identifying the language to be scanned in their tools. This not only requires manual configuration but other languages called from within a program must be handled by exception.
For years, guesslang has been used by GitHub and others to identify source code languages. However, guesslang only covers about 20 languages and does not deal with embedded components in other languages at all. In order to accomplish our goal of a “set and forget” tool, we had to invent something entirely new.
The VeriPrism Collector uses machine learning to identify new languages as they are encountered and pass this information along to the other VeriPrism components. This single process automates the majority, if not all, of the complex onboarding required with other products.Â
All code scanning products must parse the code and then lex the code into some analysis-ready format. VeriPrism is no different except that we developed a proprietary approach to parsing and lexing which dramatically improves both speed and accuracy.Â
VeriPrism also identifies the total line and character count of your source code and then certifies that the same has been analyzed with detailed exception reporting.
After sequencing the code, rule patterns are matched against the code patterns in a multi-threaded, single-pass operation.
Eliminating the plain-text code searching used by other products enables superior detection accuracy with precise quality score and sizing results.
VeriPrism utilizes global standards, not algorithms, to perform measurements on the total code set including embedded code calls (e.g. SQL in Java). Just as with DNA, VeriPrism “sequences” patterns common to all computer languages to develop the analysis set.
VeriPrism has created Application DNA patterns for CISQ and other globally acknowledged software quality rules. VeriPrism compares your code patterns to rule patterns to identify problem code.
The commonly accepted method of performing these code checks has been to “grep” using known plain language problem statements. This process is incredibly resource and time consuming. For instance, to check 20 million lines of code through just 60 rules takes one of our competitors several days of run time. VeriPrism accomplishes this same task in under 2 hours for all 127 current CISQ rules.
Deterministic Data Delivers Defensible, Repeatable Governance and Development Metrics
In a Cross-Site Scripting violation there is no security check between inputs
VeriPrism checks for valid inclusion or exclusion of patterns as defined in rules.
Once processing is complete in the Analyzer, the data is placed in a graph database for analysis. VeriPrism adds data tags exclusive to our process to provide rich visual analysis of your code.
Punch List
Code Map
Scores
Â
The CISQ CRASH report has been a common guidepost of general code health utilizing about 20 CISQ rules across approximately 250 companies. Only a subset of these companies are continually scanned and updated.
GOBS proposes to make this process much more robust by scanning a much larger rule set, more frequently and completely than is currently possible. Unless a VeriPrism customer opts out, a GOBS score will be generated each time analysis is performed. This score will be included anonymously and in aggregate to the global quality pool. Customers who do not wish to participate in global quality benchmarking may opt out of the GOBS score calculations. (1Q21)
To maintain the integrity and accuracy of VeriPrism results, no reporting is supported off of the graph database. We extract all relevant information to a flat file to enable ad hoc reporting in your preferred tools.
© 2020 VeriPrism LLC – VeriPrism, Application DNA, and Intelligent Sizing Units are Trademarks of VeriPrism LLC