Requirement-Driven Source Code Identification via Machine Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software developers often write their own code or use unreliable open-source solutions without knowing more stable and supported alternatives within their organization or from open sources, due to unawareness of existing solutions.
Innovation Solution
A computer-implemented method and system that extracts search elements from requirement definitions in a requirement management tool to search both internal and external source code repositories, using machine learning to correlate requirements with source code and confirm the extracted code meets the requirements, thereby reducing development time and providing reliable solutions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If developers write their own code or use open source solutions, then development speed is improved, but code reliability deteriorates
Solution Approach 1:
The system provides feedback to developers by automatically searching for existing reliable solutions (both internal and external) before they write code. The requirement management tool returns search results showing existing implementations, allowing developers to learn from past solutions and avoid re-inventing wheel, thereby maintaining both speed and reliability.
Solution Approach 2:
The system performs preliminary action by automatically searching for existing solutions before the developer actually writes code. The search is triggered when a requirement is created, and results are presented to the developer before coding begins, preventing unreliable code from being written in the first place.
2Reliability
If developers search for existing solutions manually, then code reliability is improved, but development time increases
Solution Approach 1:
The requirement management tool performs self-service by automatically executing the search for existing solutions when a requirement is created. The system uses its own built-in search functionality to query both internal and external repositories, eliminating the need for developers to manually search and reducing their time investment.
Solution Approach 2:
The search operation is performed as a preliminary action automatically triggered when a requirement is created. The system proactively searches for existing solutions before the developer needs to write code, so that when the developer reviews results, the search is already complete and ready for review.
3Ease of operation
If developers are unaware of existing solutions, then development simplicity is improved, but code quality deteriorates
Solution Approach 1:
The system provides feedback to developers about existing solutions that match their requirements. The search results are presented in a user-friendly format showing code snippets, locations, and relevance scores, enabling developers to quickly assess existing solutions without adding complexity to their workflow.
Solution Approach 2:
The system changes the parameter of information availability by automatically retrieving and presenting relevant solution information to developers. Instead of developers needing to know about existing solutions from memory or manual searches, the system dynamically retrieves and displays pertinent information based on the requirement criteria.
Data Source
AI summary
Search elements are extracted from requirement definitions of a requirement management tool for managing a project. The search elements may be extracted using natural language processing. The search elements are used to identify source code from source code repositories. Machine learning correlates the requirement definitions to source code subject matter. The extracted source code is confirmed by a stakeholder of the requirement management tool.


