Incremental Dataflow Analysis for Impacted Function Reanalysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing static analysis tools for software development in CI/CD environments are inefficient and time-consuming, particularly when dealing with incremental changes in software code, leading to excessive false alarms and increased review efforts.

Innovation Solution

A method and system for incremental functional approach-based dataflow analysis that performs static dataflow analysis over a set of functions, identifying edited and impacted functions through a bottom-up and top-down traversal of the call graph, minimizing reanalysis by leveraging previous analysis results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If static inter-procedural dataflow analysis is performed on entire software systems, then detection precision of potential bugs is improved, but analysis time increases to hours or days

Engineering Contradiction:
Improvebug detection precisionVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the dataflow analysis by identifying and analyzing only the impacted functions resulting from code changes, rather than analyzing the entire software system. This is achieved by computing function summaries, comparing them between versions, and using the differences to determine which functions require re-analysis, thereby reducing analysis time while maintaining detection precision for changed code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing dataflow analysis only on the subset of functions that are impacted by code changes, rather than performing complete analysis on all functions. The system computes summaries for all functions but only executes full dataflow analysis on impacted functions, reducing computational effort while maintaining adequate detection capability.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If whole-program analysis is performed on successive software versions, then comprehensive bug detection is achieved, but deployment time becomes comparable to release cycle time

Engineering Contradiction:
Improvebug detection capabilityVSAvoiddeployment speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary computation of function summaries for all functions in the software system. These summaries are stored and used in subsequent versions to quickly identify impacted functions without re-computing summaries. This preliminary action enables fast incremental analysis while maintaining comprehensive bug detection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic analysis by adapting the analysis scope based on code changes. The system dynamically determines which functions need re-analysis by comparing function summaries between versions, allowing the analysis to focus only on relevant portions of the codebase and enabling faster deployment cycles.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If incremental dataflow analysis is performed on changed code only, then analysis time is reduced, but false alarms increase requiring more developer review effort

Engineering Contradiction:
Improveanalysis timeVSAvoidfalse alarm rate
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent uses feedback from function summary comparisons to guide the analysis process. By comparing summaries of functions between versions and using this feedback to identify impacted functions, the system can focus analysis on relevant code while maintaining reliability. The feedback mechanism helps filter out false alarms by ensuring analysis is targeted at actually changed code.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12619405B2Method and system for incremental functional approach-based dataflow analysis
Publication Date: 2026.05.05 TATA CONSULTANCY SERVICES LTD
  • US12619405B2 patent drawing
  • US12619405B2 patent drawing
  • US12619405B2 patent drawing

AI summary

This disclosure relates generally to method and system for incremental functional approach-based dataflow analysis. Static dataflow analysis can take hours to days depending on size and complexity of the code. In today's agile development environment faster analysis is required which can handle incremental changes to the code in an efficient manner. The method includes by performing a static dataflow analysis over a set of functions of a source code. Further, obtains a set of impacted functions from the source code and executes a dataflow analysis over the set of impacted functions of the source code. The method performs an incremental functional approach-based dataflow analysis over the set of impacted functions including an incremental bottom-up analysis and an incremental top-down analysis. The method efficiently updates results of dataflow analysis in response to incremental changes which is fast and scalable and minimizes the number of procedures by comparing summaries across the versions.