Mining Software Attributes from Source Code Repositories
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software quality management systems lack efficient methods to analyze and improve software quality by extracting relevant attributes from source code across multiple versions and repositories, leading to potential defects and unintended consequences in software development.
Innovation Solution
A system that uses programmatic analysis to mine attributes from source code in software repositories, including the use of a crawler to detect and parse source files, construct syntax trees, and store attributes in a database, allowing for querying and statistical analysis of software quality metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If programmatic analysis is used to mine attributes from source code in repositories, then software quality assessment capability is improved, but system complexity and resource consumption increase
Solution Approach 1:
The system segments the source code analysis process into distinct components: a crawler module that detects source files, a parser module that extracts syntax data, and a database module that stores mined attributes. This segmentation allows each component to specialize in specific tasks, improving overall analysis precision while managing system complexity through modular architecture.
Solution Approach 2:
The patent introduces an intermediary database layer that stores mined attributes from multiple versions of applications. This intermediary structure decouples the complex analysis processes from the quality assessment queries, allowing precise measurements to be stored and retrieved without requiring the full analysis system to be active during assessment.
2Measurement precision
If comprehensive attributes are mined from multiple versions of applications, then software quality measurement accuracy is improved, but data processing time and storage requirements increase
Solution Approach 1:
The system performs preliminary actions by proactively crawling and parsing source files from multiple versions of applications, mining attributes in advance, and storing them in a database before quality assessment is needed. This preliminary data preparation eliminates the need for time-consuming analysis during actual quality measurements, significantly reducing processing time while maintaining comprehensive attribute coverage.
3Reliability
If source code from multiple repositories is analyzed, then software quality insights are improved, but computational resources and energy consumption increase
Solution Approach 1:
The patent extracts only the essential attributes from source code that are relevant to software quality assessment, rather than analyzing and processing all possible code characteristics. The crawler and parser are configured to mine specific attributes (such as code metrics, structural properties, and quality indicators) from multiple repositories, reducing computational energy consumption while maintaining reliable quality insights.
Data Source
AI summary
A system includes a database that stores attributes of applications that are descriptive of source code included in the applications and identification data that identifies the applications to which the attributes apply. The attributes are mined through a programmatic analysis of one or more repositories in which the applications are stored, and the programmatic analysis includes programmatic analysis of the source code included in the applications to derive the attributes. The system also includes a computer system configured to handle queries against the attributes of the applications stored in the database and provide output based on the handling of queries against the attributes of the applications stored in the database.


