DETANGLE _

How it works

DETANGLE is our proprietary software analysis tool. The special feature of DETANGLE is that it continuously analyses all code changes during the development of a software project and combines them with data from issue trackers.

Smart measurements of the software modularity of features and consideration of the development process lead to completely new and fact-based insights by revealing relationships of code changes between features. This makes it possible to optimally align customer benefits and quality goals.

20945581-background

DETANGLE supports the following tools

Issue
trackers

trac-logo-png
YouTrack-logo
jira-software-logo-png
redmine-logo

DevOps platforms

microsoft-azure-devops-logo
GitHub-logo
gitlab-logo
Bitbucket-Logo

Quality
tools

sonarqube-logo
understand-logo

Code
repositories

git-logo
Subversion_logo
visual-studio-logo-1
THE NAME _

Why do we call our software analysis tool DETANGLE®?

Every developer knows the term spaghetti code. It refers to source code that is unstructured and difficult to maintain, as it often happens over the years. Since we started developing our tool in 2017, our vision has been to help software developers keep their software clear and innovative at all times to avoid spaghetti code. This was the image we had in mind when we were looking for a catchy name for our new software analysis tool. We chose DETANGLE® as the product name as it means to unravel something tangled.

The latest DETANGLE® features now make untangling code even more convenient. It offers developers a choice of automated suggestions for restructuring the code with an AI algorithm.

DETANGLE supports the following programming languages

Code Quality

Architecture Quality

We support all programming languages in terms of architecture quality!

IN A NUTSHELL _

How it works

The DETANGLE® analysis software looks at all code changes during the development of a software project and correlates them with the data from the issue trackers and DevOps tools. Since the period under consideration covers many years, the trends of the individual analysis KPIs become accessible and represent previously unavailable additional information for assessing the state of the software.

Through the novel consideration of the modularity of features, new quality indicators become available that describe the risk potential of the coupling of features with each other. This makes it possible for the first time to correlate expenditures for quality improvement AND the frequency of use of the features. These data are the basis for identifying the problem areas in the code of the feature with the best ratio of required development effort to achievable customer benefit (after improvement) and to prioritise them in the development.

KonstantinSokolov_500x500-circle
Konstantin Sokolov, CTO

Any questions about DETANGLE?

If you would like to know more about DETANGLE and how we can support you in your project, please feel free to contact me!

MODULARITY AS FOCUS _

Analysis of feature modularity instead of just code modularity

Code modularity is one of the keys to keeping a software maintainable and extendable in the long-term. Low modularisation is to be considered as technical debt. Modularisation concerns both code and architecture and is a concept to avoid too strong couplings within the code base, as these lead to increasing problems in the maintenance of a software. The common software analysis tools consider the couplings between individual programme artefacts in the code, but leave out coupling issues in the software architecture. However, it is the technical debts in the software architecture that would most meaningfully describe the fundamental technological weaknesses of a software.

Cape of Good Code analyses the modularity of features with the DETANGLE Analysis Suite in order to also consider the role of the software architecture with respect to technical debt. The analysis of the couplings between features in the code provides significantly more meaningful results than just examining the couplings between artefacts of a programming language. This enables more targeted insights into the technological state of the software, e.g. with regard to the effort required to extend it with new features.  

By considering the importance of the software architecture for the criticality of technical debt, a meaningful prioritisation of restructuring measures can also be derived from the data of a DETANGLE analysis.

Our software analysis tool DETANGLE® analyses the relationships between features and code as well as between features themselves over the entire lifetime of the software. It therefore captures technical debt based on the modularity of features and not only on the modularity of code. With this concept, all the necessary information becomes available to initiate feature-centric restructuring measures directly at the right places in the code. We recommend monitoring the effectiveness of the measures with renewed analyses on a regular basis.

Feature modularity and the concepts behind are absolutely innovative and groundbreaking in the field of software quality analysis. The underlying intelligent mathematical models are the results of our long-term practical experience and research in this field.

DEEP DIVE _

Further resources

LEARN FROM THE PAST _

Time-based analysis

All types of software quality analysis strive to identify or predict maintainability and extensibility constraints. Ultimately, the aim is always to measure how easily a system can be extended with new features. Existing approaches to code analysis attempt to make statements about the changeability of a system by simply analysing the current state of the code without measuring what really matters: the actual changes to a system over the course of its life cycle.

Our research and projects show that taking into account the progression of the software development process is prerequisite for gaining usable insights into the technological status quo of the software architecture and for predicting critical system errors that would limit its extensibility.

DETANGLE® analyses the entire commit history of a project. It tracks code changes and relates them to each other, rather than just comparing the results of static code analysis of different snapshots. We have developed solutions with DETANGLE® to consider parallel development branches in distributed repositories or between multiple repositories to analyse the software architecture for extensibility with new features.

DETANGLE® can predict the technological future of the code from its history.

THE VALUE ADDED _

Prioritise decisions, save budgets

Fixing all the problematic findings from code analysis usually exceeds the planned budget and absorbs developers' capacity unnecessarily, as not every Technical Debt is an urgent problem. DETANGLE® provides decision support in prioritising the possible measures to reduce Technical Debt. Through an intelligent combination of different indicators that signal a decreasing changeability of the code for the extension and implementation of features or an increasing error-proneness of code modules, a resilient assessment of the importance of individual findings in relation to the business relevance of the features can be made.

This information, which is visualised in the form of an intuitive traffic light system, enables developers and management to first address those technical debts whose elimination has the greatest possible benefit for improving the quality of the code, development and architecture.

DATA PROTECTION _

Your development data and IP. How secure are these with our analysis?

To start with, the appropriate contractual regulations regarding the confidentiality of IP, data and other relevant information and documents are agreed between the client and Cape of Good Code. These regulations formally and legally ensure that the information and data from the customers software used in the analysis are no longer accessible to the consultant after completion of the project.

From a technical point of view, the DETANGLE® analysis software is installed, configured and executed on the client's computer. All analysis results remain on the client's computer. Remote access to this computer can be encrypted and secured via a VPN connection. The software analysis can be carried out on-premise or remotely without the need that the analysed code has to be stored on an external computer.

Are you interested?

KNOWLEDGE _

Our latest knowledge articles

In our knowledge blog you will constantly find new articles on various topics from software development.

You can find more articles in our knowledge area