Static Analysis Rule Generation via Commit Metadata Scoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static analysis tools face challenges in detecting errors due to varying rule sets and the need for manual updates, as well as the inefficiency of developers relying on code reviewing and database querying for issues like security and performance problems during source code development.
Innovation Solution
A system comprising a commit fetching unit, filtering unit, and analyzing unit generates and updates static analysis rules by fetching and filtering commit metadata from source code repositories, using machine learning to score commits and create dynamic rules for static code analysis, thereby improving software source coding and vulnerability detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static analysis tools use manually created rule sets, then the tools can detect errors, but the rules require manual updates and maintenance
Solution Approach 1:
The system enables static analysis tools to self-update their rule sets by automatically analyzing commit metadata from source code repositories. The machine learning model processes historical commit data to generate and refine analysis rules without requiring manual intervention, allowing the tool to maintain and improve its error detection capabilities autonomously
Solution Approach 2:
The system implements a feedback loop where commit metadata from source code repositories is continuously analyzed by machine learning models to generate updated static analysis rules. These newly generated rules are then fed back into the static analysis tool, creating an iterative improvement process that enhances detection accuracy over time
2Reliability
If developers manually review code and query databases to fix issues, then they can address security and performance problems, but the process is inefficient
Solution Approach 1:
The system replaces manual code reviewing and database querying processes with an automated machine learning-based static analysis system. The machine learning model processes commit metadata to automatically identify security and performance issues, eliminating the need for developers to manually inspect code or query databases for issue detection
Solution Approach 2:
The system introduces machine learning models as an intermediary between source code repositories and static analysis tools. These models process commit metadata and translate it into actionable analysis rules, serving as a mediator that automates the detection process and reduces the manual work required by developers
Data Source
AI summary
Various embodiments of systems, computer program products, and methods to provide a static analysis rules repository and a training data repository are described herein. In an aspect, a list of commit metadata associated with historical source code are retrieved from one or more repositories. Commits associated with the list of commit metadata are filtered based on commit types. Further, the filtered commits are analyzed to score the commits based on usage of the commits. Based on scoring, the static analysis rules repository including one or more new rules for the static code analysis and the training data repository including source code examples for the software source coding are provided.


