Source Code Scanner Evaluation via Snippet Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing source code scanners face challenges in accurately identifying security defects, leading to high false positive and false negative rates, which can be resource-intensive and credibility-damaging, and organizations struggle to select the most suitable scanner due to unreliable marketing information and varying performance across different projects.

Innovation Solution

A system and method for evaluating source code scanners by inserting good and bad code snippets into source code, generating an issue list, and comparing it to determine false positive and false negative rates, thereby producing metrics that help stakeholders select scanners based on quality and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If source code scanners are used to identify security defects, then security audit capability is improved, but false positive and false negative rates increase

Engineering Contradiction:
Improvesecurity defect identification accuracyVSAvoidfalse positive and false negative rates
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by inserting known good and bad code snippets into the source code before scanning. This creates a controlled test environment where the expected outcomes are predetermined, allowing accurate measurement of the scanner's performance metrics including false positive and false negative rates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses good and bad code snippets as intermediary elements between the source code scanner and the evaluation process. These snippets serve as reference standards that mediate the comparison between scanner output and actual security defect status, enabling precise measurement of scanner accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple source code scanners are evaluated, then scanner selection capability is improved, but evaluation complexity increases

Engineering Contradiction:
Improvescanner selection capabilityVSAvoidevaluation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the evaluation process into distinct, manageable components: inserting good snippets, inserting bad snippets, scanning the modified code, comparing results, and generating metrics. This segmentation simplifies the overall evaluation complexity while maintaining comprehensive scanner assessment capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copies of known good and bad code snippets as test inputs. These copies serve as standardized test cases that can be reused across multiple scanner evaluations, simplifying the evaluation process while enabling consistent comparison across different scanners.

Inventive Principle:
Principle #26Copying

3Measurement precision

If code snippets are inserted into source code for evaluation, then measurement accuracy is improved, but source code modification complexity increases

Engineering Contradiction:
Improvescanner performance measurement accuracyVSAvoidsource code modification ease
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The system performs self-service by automatically inserting the good and bad code snippets into the source code without requiring manual intervention. This automation eliminates the complexity of manual code modification while maintaining measurement accuracy, as the insertion process is systematic and reproducible.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9275232B2Systems and methods for evaluating a source code scanner
Publication Date: 2016.03.01 WIPRO LTD
  • US9275232B2 patent drawing
  • US9275232B2 patent drawing
  • US9275232B2 patent drawing

AI summary

Apparatuses, methods, and non-transitory computer readable medium that evaluate a source code scanner are described. In one implementation, the method comprises obtaining source code. One or more good code snippets and one or more bad code snippets are inserted into the source code to obtain a modified source code. An issue list generated by the source code scanner upon scanning the modified source code is obtained. The issue list comprises code segments having security defects identified by the source code scanner, reasons for the security defects, and locations of the security defects in the modified source code. The code segments present in the issue list are compared with the one or more good code snippets and the one or more bad code snippets. A plurality of metrics, indicating quality of the source code scanner, are generated based on the comparison.