Abstract: An interrelated set of tools and methods is disclosed for: (1) measuring the relationship between software source code attributes (such as code quality, design quality, test quality, and complexity metrics) and software economics outcome metrics (such as maintainability, agility, and cost) experienced by development and maintenance organizations, (2) using this information to project or estimate the level of technical debt in a software codebase, (3) using this information to estimate the financial value of efforts focused on improving the codebase (such as rewriting or refactoring), and (4) using this information to help manage a software development effort over its lifetime so as to improve software economics, business outcomes, and technical debt while doing so.
Type:
Grant
Filed:
September 13, 2021
Date of Patent:
December 5, 2023
Assignee:
Silverthread, Inc.
Inventors:
Daniel J. Sturtevant, Carliss Baldwin, Alan MacCormack, Sunny Ahn, Sean Gilliland
Abstract: An interrelated set of tools and methods is disclosed for: (1) measuring the relationship between software source code attributes (such as code quality, design quality, test quality, and complexity metrics) and software economics outcome metrics (such as maintainability, agility, and cost) experienced by development and maintenance organizations, (2) using this information to project or estimate the level of technical debt in a software codebase, (3) using this information to estimate the financial value of efforts focused on improving the codebase (such as rewriting or refactoring), and (4) using this information to help manage a software development effort over its lifetime so as to improve software economics, business outcomes, and technical debt while doing so.
Type:
Grant
Filed:
February 17, 2017
Date of Patent:
September 21, 2021
Assignee:
Silverthread, Inc.
Inventors:
Daniel J. Sturtevant, Carliss Baldwin, Alan MacCormack, Sunny Ahn, Sean Gilliland
Abstract: An interrelated set of tools and methods are disclosed for recording the identity of software components responsible for creating files, recording the identity of software components that access software files, reasoning about the dependency relationships between software components, identifying and reporting undesirable dependencies between them, and reporting other useful information about a large-scale software architecture by instrumenting a software build process or test process.
Abstract: An interrelated set of tools and methods are disclosed for recording the identity of software components responsible for creating files, recording the identity of software components that access software files, reasoning about the dependency relationships between software components, identifying and reporting undesirable dependencies between them, and reporting other useful information about a large-scale software architecture by instrumenting a software build process or test process.
Abstract: An interrelated set of tools and methods is disclosed for: (1) measuring the relationship between software source code attributes (such as code quality, design quality, test quality, and complexity metrics) and software economics outcome metrics (such as maintainability, agility, and cost) experienced by development and maintenance organizations, (2) using this information to project or estimate the level of technical debt in a software codebase, (3) using this information to estimate the financial value of efforts focused on improving the codebase (such as rewriting or refactoring), and (4) using this information to help manage a software development effort over its lifetime so as to improve software economics, business outcomes, and technical debt while doing so.
Type:
Application
Filed:
February 17, 2017
Publication date:
August 17, 2017
Applicant:
Silverthread, Inc.
Inventors:
Daniel J. Sturtevant, Carliss Baldwin, Alan MacCormack, Sunny Ahn, Sean Gilliland
Abstract: An interrelated set of tools and methods are disclosed for recording the identity of software components responsible for creating files, recording the identity of software components that access software files, reasoning about the dependency relationships between software components, identifying and reporting undesirable dependencies between them, and reporting other useful information about a large-scale software architecture by instrumenting a software build process or test process.