Compiler Platform for Real-Time Test Method Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code authoring systems require computationally expensive compilation processes to discover test methods, leading to time-consuming test discovery processes, especially when code is repeatedly built during development as test methods are added or removed.

Innovation Solution

A computing device with a processor configured to execute a source code authoring application that provides a graphical user interface for real-time mark-up and detection of test methods based on syntactic and symbolic indicators within the source code, allowing for notification of test methods without the need for building the code, thus reducing the time required for test discovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If code is built using a compiler and test discovery tools are run on compiled assemblies, then test methods can be identified, but the process becomes computationally expensive and time-consuming

Engineering Contradiction:
Improvetest method identification accuracyVSAvoidtest discovery time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing test method identification directly on source code using syntactic and symbolic analysis before compilation occurs. The compiler platform analyzes source code files to detect test method indicators (such as specific annotations, decorators, or code patterns) during the editing phase, rather than waiting for compilation and assembly generation. This preliminary detection eliminates the need to compile code solely for test discovery purposes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the test method identification function from the compilation process. Instead of requiring the full compilation pipeline (source code → assembly → test discovery), the system extracts and performs only the necessary syntactic and symbolic analysis on source code to identify test methods. This separation allows test discovery to occur independently of the compilation process, significantly reducing time while maintaining identification accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If code is repeatedly built during development as test methods are added and removed, then test methods can be discovered, but the computational cost and time increase significantly

Engineering Contradiction:
Improvetest method dynamic detectionVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements continuous useful action by enabling real-time, incremental analysis of source code as it is being edited. The compiler platform continuously monitors source code files for test method indicators without requiring repeated full compilations. When developers add, remove, or modify test methods, the system detects these changes immediately through ongoing syntactic and symbolic analysis, maintaining continuous awareness of the test method landscape without interrupting the development flow.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent applies dynamics by making the test method detection process adaptive and responsive to code changes. The system dynamically adjusts its analysis based on modifications to source code, detecting test methods as they are added and removing them when deleted. This dynamic detection occurs at the source code level with immediate feedback, allowing the development environment to stay synchronized with the current state of test methods without requiring repeated compilation cycles.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If the entire code is compiled for test method discovery, then all test methods can be detected, but the process is inefficient when only specific files need analysis

Engineering Contradiction:
Improvetest method detection completenessVSAvoidcompilation resource consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent applies segmentation by dividing the test method detection process into file-level or module-level independent analyses. Instead of compiling and analyzing the entire codebase, the compiler platform performs syntactic and symbolic analysis on individual source code files or specific modules that contain test methods. This segmentation allows developers to analyze only the relevant portions of code, reducing computational resources while maintaining complete detection of test methods within the scope of interest.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10620922B2Compiler platform for test method
Publication Date: 2020.04.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10620922B2 patent drawing
  • US10620922B2 patent drawing
  • US10620922B2 patent drawing

AI summary

A computing device is provided, including a display and a processor. The processor may be configured to execute a source code authoring application program. The processor may be further configured to output a graphical user interface (GUI) of the source code authoring application program for display on the display. The processor may be further configured to receive source code including one or more code instructions at an editor window included in the GUI. The editor window may provide real-time mark-up of the source code. At a compiler platform, the processor may be further configured to determine that the source code includes at least one test method based on at least one syntactic test method indicator or symbolic test method indicator included in the source code. The processor may be further configured to output a notification of the at least one test method for display on the display.