Software Analysis Tool Rule Tuning via Developer Behavior Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software analysis tools often report many false positives for errors, overwhelming developers and making it difficult to focus on actual issues that need correction, and some developers consistently produce more severe errors due to specific coding patterns or styles.

Innovation Solution

The system facilitates reactive tuning of software analysis tool rule sets based on developer behavior, identifying and modifying rules that result in false positives and analyzing coding patterns of error-prone developers to differentiate their styles, thereby adjusting tool configurations and reporting on problematic coding characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software analysis tools report all detected errors, then detection completeness is improved, but developer productivity deteriorates due to overwhelming false positives

Engineering Contradiction:
Improveerror detection completenessVSAvoiddeveloper productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system changes the parameters of error reporting by dynamically adjusting the sensitivity and threshold settings of analysis tools based on developer behavior patterns. When a developer consistently ignores certain types of warnings, the system modifies the reporting parameters to suppress those specific warnings, thereby reducing false positives while maintaining detection of actual errors.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback loops where developer responses to analysis tool reports are monitored and used to automatically tune the analysis parameters. This feedback mechanism allows the system to learn from developer behavior and adapt the reporting thresholds, eliminating the need for manual configuration while improving the relevance of reported issues.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If manual configuration of analysis rules is allowed, then adaptability to specific developer needs is improved, but device complexity increases due to rule management overhead

Engineering Contradiction:
Improverule configuration flexibilityVSAvoidrule management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system enables self-service configuration where the analysis tool automatically adjusts its own parameters based on observed developer behavior patterns. Instead of requiring manual rule configuration, the system autonomously learns from developer interactions with error reports and automatically tunes sensitivity thresholds, eliminating the complexity of manual rule management while maintaining adaptability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary layer between the developer and the analysis tool configuration. This intermediary is the automated parameter tuning mechanism that translates developer behavior patterns into appropriate rule configurations, shielding developers from the complexity of direct rule management while still achieving customized analysis results.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11663341B2Tracking developer behavior with respect to software analysis tools
Publication Date: 2023.05.30 AMAZON TECH INC
  • US11663341B2 patent drawing
  • US11663341B2 patent drawing
  • US11663341B2 patent drawing

AI summary

Disclosed are various embodiments for tracking developer behavior with respect to software analysis tools. In one embodiment, a security analysis is performed upon a first revision of a program, where the security analysis is based at least in part on a plurality of rules. A first security issue found in the security analysis upon the first revision of the program is identified. The security analysis is performed upon a second revision of the program. A second security issue found in the security analysis upon the second revision of the program is identified. The rules are updated based at least in part on whether the first security issue is corrected in the second revision as determined based at least in part on a comparison of the first security issue to the second security issue.