Build Analysis System for Software Project Interdependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As software projects grow, their build systems become impractical for developers to manage, leading to maintenance issues, deployment problems, and slow builds, with existing build utilities providing incomplete solutions that are not adaptable for general applicability.

Innovation Solution

A method and software program that analyze the build process, providing comprehensive views of build interdependencies by collecting data on file access patterns, project properties, and metadata, which is injected into a database for querying and generating reports that detect flaws and visualize project relationships.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If build systems grow with software projects to manage large-scale builds, then the build system can handle more projects and files, but it becomes impractical for developers to keep track of how the build works, causing maintenance issues and deployment problems

Engineering Contradiction:
Improvenumber of projects and files in build systemVSAvoiddeveloper ability to keep track of build process
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent introduces an intermediary analysis system that sits between the build system and developers. This system automatically analyzes build processes, collects metadata, and generates reports about build interdependencies, allowing developers to understand complex build systems without directly tracking every build operation manually

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where build metadata is collected and analyzed, then fed back to developers through reports and visualizations. This feedback loop provides developers with insights into build interdependencies and potential issues without requiring them to manually track the entire build process

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If build systems grow with software projects, then more projects and files can be managed, but build maintenance and deployment become problematic

Engineering Contradiction:
Improvenumber of projects and files in build systemVSAvoidbuild maintenance and deployment reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent performs preliminary analysis of build processes by collecting metadata and analyzing interdependencies before builds are executed or deployed. This advance analysis identifies potential maintenance and deployment issues, allowing them to be addressed proactively rather than reactively

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces manual mechanical tracking of build processes with automated computational analysis. Build metadata is automatically collected, processed, and analyzed using computational methods, eliminating the need for developers to manually track and manage complex build dependencies

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

3Ease of manufacture

If build utilities use rough approximations to address build management concerns, then implementation is simpler, but the solutions are incomplete and not adaptable for general applicability

Engineering Contradiction:
Improvebuild utility implementation simplicityVSAvoidbuild utility adaptability for general applicability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal build analysis system that can handle diverse build configurations and project types. By collecting comprehensive metadata and using generalizable analysis methods, the system adapts to different build systems and project structures without requiring custom implementations for each case

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

Data Source

PatentUS8776014B2Software build analysis
Publication Date: 2014.07.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8776014B2 patent drawing
  • US8776014B2 patent drawing
  • US8776014B2 patent drawing

AI summary

A method or software program that provides an analysis of a build, which can provide a developer with views of the build processes, is disclosed. Data is collected from the build. The collected data can include information regarding file access patterns from determining which files are accessed for read and which files are accessed for write by one or more software build tools and project interdependencies. The collected data can also include certain project properties, build configurations, intermediate directories such as logs, and other metadata of the build. The collected data is injected into a relational database that can be queried. Reports can be generated from the information stored in the database by tools that depict built projects and interdependencies. For example, the tools can be used to generate visualizations such as graphs.