Application Search Tool for Rapid Prototyping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current search engines fail to efficiently identify highly relevant applications (HRAs) from large application repositories, leading to wasted time and resources due to the mismatch between high-level processing concepts and low-level implementation details, and the inability to reduce the cognitive distance required to find suitable applications for prototyping.

Innovation Solution

The EXEcutable exaMPLes ARchive system (Exemplar) uses information retrieval and program analysis techniques to identify HRAs by expanding queries with API calls from trusted sources like help documentation, ranking applications based on implemented high-level processing concepts, and providing a user interface to navigate and understand the application logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If current search engines are used to search application repositories, then the search process is simple and fast, but the relevance of identified applications to high-level processing concepts is poor

Engineering Contradiction:
Improveapplication relevance accuracyVSAvoidsearch system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The search process is divided into multiple independent layers: keyword extraction from high-level concepts, multi-layered search across different data sources (application descriptions, API documentation, source code), and hierarchical ranking. Each layer handles a specific aspect of the search, improving overall relevance without creating a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

API calls serve as intermediaries that bridge the gap between high-level processing concepts and low-level implementation details. The system extracts API calls from applications and uses them as intermediate representations to match conceptual requirements with actual application functionality, improving search accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If developers manually analyze applications to confirm relevance, then the accuracy of identifying highly relevant applications improves, but the time and cognitive effort required increases significantly

Engineering Contradiction:
Improveapplication relevance accuracyVSAvoidtime to identify HRAs
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary automated analysis of applications during the search process, including extracting API calls, analyzing source code patterns, and pre-ranking applications based on multiple criteria. This preliminary action filters out obviously irrelevant applications before developers need to review them, reducing both time and cognitive effort while maintaining high accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Manual cognitive analysis by developers is replaced with automated program analysis techniques, including static code analysis, API call extraction, and pattern matching. These automated mechanical processes perform the initial filtering and ranking, freeing developers from time-consuming manual analysis while maintaining or improving accuracy through consistent application of analysis criteria.

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

3Loss of information

If application repositories contain detailed implementation information, then the completeness of application descriptions improves, but the difficulty of matching high-level concepts with low-level details increases

Engineering Contradiction:
Improveapplication description completenessVSAvoidconcept-implementation matching difficulty
Core Design Contradiction:
Loss of informationVSDifficulty of detecting and measuring

Solution Approach 1:

The system extracts specific key elements from detailed application implementations, including API calls, function signatures, and critical code patterns. By taking out these essential components, the system creates a simplified representation that directly matches high-level concepts without requiring developers to wade through complete implementation details, thus reducing matching difficulty while preserving information completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system transforms application descriptions from raw implementation details into structured parameters and features that are optimized for matching with high-level concepts. By changing the representation parameters of application data into a standardized format with extracted features, the system makes it easier to detect and measure the correspondence between conceptual requirements and actual implementations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9009649B2Application search tool for rapid prototyping and development of new applications
Publication Date: 2015.04.14 ACCENTURE GLOBAL SERVICES LTD
  • US9009649B2 patent drawing
  • US9009649B2 patent drawing
  • US9009649B2 patent drawing

AI summary

A code search tool greatly reduces time, cost, and other resource expenditures associated with implementing a new application. The tool is a search, navigation and visualization tool that accepts high-level processing concepts as inputs to identify, rank, and return the code of relevant existing applications. A software developer may use the relevant applications to rapidly build prototypes, identify requirements, and develop new applications. The tool provides an efficient way to improve the reuse of application logic to realize the high-level processing concepts, and more efficiently deliver proof of concept.