Automated Application Development Assistant for Bug Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in identifying and fixing bugs during application development, as well as integrating new features due to lack of knowledge about existing features in other applications, leading to potential false failures and inefficiencies in the development process.

Innovation Solution

A system and method that receives a new use case from a user, identifies relevant development solutions from a historical data repository, generates problem and false failure reports, ranks solutions based on these reports, and creates a decision template to assist in the application development lifecycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a software developer manually debugs all modules to identify bugs, then the accuracy of bug identification improves, but the time consumption and productivity deteriorate

Engineering Contradiction:
Improvebug identification accuracyVSAvoiddevelopment efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent introduces an automated analysis system that acts as an intermediary between the developer and the codebase. This system uses static analysis, dynamic analysis, and machine learning models to automatically identify bugs and generate reports, freeing the developer from manual debugging while maintaining high accuracy through multiple analysis techniques working together

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical manual debugging process with automated computational analysis. Instead of developers manually examining code modules, the system employs automated static analysis tools, dynamic execution monitoring, and AI-based bug detection algorithms to identify issues programmatically, significantly improving productivity while maintaining detection accuracy

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If a developer lacks background knowledge of the application, then the ability to classify issues and bugs deteriorates, but the system can still provide assistance through automated analysis

Engineering Contradiction:
Improveissue classification accuracyVSAvoiddomain knowledge availability
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs self-service by automatically analyzing the codebase, identifying bugs, and generating classification reports without requiring the developer to have deep domain knowledge. The machine learning models are pre-trained on large datasets to automatically understand and classify issues, making the system self-sufficient in providing reliable bug classification

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies preliminary action by pre-training machine learning models on extensive historical bug data and application patterns before deployment. This preliminary training enables the system to possess domain knowledge in advance, allowing it to accurately classify issues even when the individual developer lacks background knowledge of the specific application

Inventive Principle:
Principle #10Preliminary action

3Reliability

If test cases fail due to false failures rather than actual code bugs, then the reliability of bug detection deteriorates, but the system can distinguish between false failures and real issues

Engineering Contradiction:
Improvefailure detection accuracyVSAvoidfalse failure rate
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system implements feedback mechanisms where test results are analyzed in context with code changes, execution traces, and historical data. When a test fails, the system gathers feedback from multiple sources (static analysis results, dynamic execution data, code diff information) to determine whether the failure represents a real bug or a false alarm, continuously improving detection accuracy through this multi-source feedback loop

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary anti-action by proactively identifying and filtering out false failures before they can mislead the developer. The system uses static analysis and contextual analysis to predict which test failures are likely to be false positives and flags them accordingly, preventing the harmful effect of false failures from derailing the development process

Inventive Principle:
Principle #9Preliminary anti-action

4Adaptability or versatility

If a developer introduces a new feature without knowledge of similar features in other applications, then the adaptability of the application improves, but the risk of introducing bugs deteriorates

Engineering Contradiction:
Improvefeature integration capabilityVSAvoidfeature integration reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system applies copying by automatically searching the codebase for existing features that are similar to the new feature being introduced. It identifies patterns, code structures, and implementation approaches from existing features and suggests them as templates for the new feature, allowing the developer to adapt proven patterns while avoiding common pitfalls that led to bugs in previous implementations

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements universality by creating a feature analysis engine that works across different types of features and applications. The system universally applies pattern matching, code similarity analysis, and bug risk assessment to any new feature introduction, regardless of the specific domain or feature type, making the reliability improvement applicable across the entire codebase

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10452528B2System and method for assisting a user in an application development lifecycle
Publication Date: 2019.10.22 HCL TECH LTD
  • US10452528B2 patent drawing
  • US10452528B2 patent drawing
  • US10452528B2 patent drawing

AI summary

The present disclosure relates to system(s) and method(s) for assisting a user in application development lifecycle. The system is configured to receive a new use case from a user device and identify a sub-set of development solutions from a set of development solutions, stored in a historical data repository, that are applicable for developing code corresponding to the new use case. Furthermore, the system is configured to receive a set test cases corresponding to each development solution from the historical data repository. Furthermore, the system is configured to generate a problem report and a false failure report based on analysis of the set of test cases. The system is further configured to rank the sub-set of development solutions based on analysis of the problem report and the false failure report. Further, the system is configured to generate a decision template based on the ranking of the sub-set of development solutions.