# US 2019/0318098 A1 · Source Code Diagnostic Instrument

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0318098 A1
- Document ID: US20190318098A1
- Status: Published application
- Kind: A1
- Application number: 15/951,412
- Filed: 2018-04-12
- Published: 2019-10-17
- Earliest claimed: 2018-04-12
- Assignees: The United States of America as represented by the Secretary of the Navy
- Inventors: Robert Thomas Clift; Ashley L. Bowry; Jon T. Posch
- Web page: https://patentgrep.com/patent/US20190318098A1

## CPC

- G06F 21/577: {Assessing vulnerabilities and evaluating computer system security}
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 11/3692: {for test results analysis}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 2221/033: Test or assess software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented consolidation method is provided for identifying software vulnerability anomalies in a source code. This method includes providing a plurality of diagnostic tools; receiving the source code; selecting a subset plurality of tools; scanning the source code by the subset plurality for the anomalies to produce a diagnostic output; sorting the output by removing anomaly duplicates into a report; and saving the report into memory. Each tool among the plurality is able to detect the anomalies in software.

## Claims

### Claim 1

A computer-implemented consolidation method identifying software vulnerability anomalies in a source code, said method comprising:
providing a plurality of diagnostic tools, each tool able to detect the anomalies in software;
receiving the source code;
selecting a subset plurality of tools from said plurality of diagnostic tools;
scanning the source code by said subset plurality for the anomalies to produce a diagnostic output;
sorting said output by removing a duplicate of the anomalies into a report; and
saving said report into memory.

### Claim 2 (depends on 1)

The method according to claim 1, wherein
said subset plurality of tools includes first and second tools, and
the anomalies include first and second errors determined respectively by said first and second tools, so as further comprising:
assigning said duplicate as said second error for removal under circumstances in which said second error is identical to said first error.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
prompting an input from among one of a default list and a custom list, either from said plurality of error diagnostic tools; and
assigning said input for said subset plurality of tools.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
displaying said report on a screen monitor.

### Claim 5 (depends on 1)

The method according to claim 1, wherein saving said report into memory further includes writing said report to a file.

### Claim 6 (depends on 1)

The method according to claim 1, wherein said subset plurality of tools includes distinguishing between source code languages.

### Claim 7 (depends on 1)

The method according to claim 1, wherein said plurality of error diagnostic tools for C/C++ source code includes CppCheck, Rats, Its4 and FlawFinder.

### Claim 8 (depends on 1)

The method according to claim 1, wherein said plurality of error diagnostic tools for Java source code includes PMD and CheckStyle.

### Claim 9 (depends on 1)

The method according to claim 1, wherein said plurality of error diagnostic tools for compiled C/C++ source code includes FindBugs.
