Wie es funktioniert

DETANGLE geht bei der Betrachtung in die Breite, indem es alle Code-Änderungen im Laufe der Entwicklung eines Softwareprojekts kontinuierlich analysiert und mit Daten aus Issue-Trackern kombiniert.

Eine intelligente Verbesserung der Software-Modularität von Features und die Berücksichtigung des Entwicklungsprozesses führt zu völlig neuen und faktenbasierten Erkenntnissen, indem Beziehungen von Code-Änderungen zwischen Features aufgedeckt werden. Dadurch ist es möglich, Geschäftsziele und Qualitätsziele optimal aufeinander abzustimmen.

Von Code-Modularität zur Feature-Modularität

Es besteht kein Zweifel, dass das Vorhandensein einer starken Kopplung einen wesentlichen Indikator für Probleme der Wartbarkeit darstellt. Die Berücksichtigung von Kopplungen und technischer Schulden zwischen einzelnen Sprach-Konstrukten ist jedoch zu ungenau. Features sind die Hauptbausteine von Softwaresystemen - nicht Module, Dateien oder Klassen. Die Analyse und Verbesserung der Beziehungen zwischen Features, und nicht nur zwischen Artefakten einer Programmiersprache, ermöglicht gezieltere Erkenntnisse über die Wartbarkeit eines Systems.

DETANGLE analysiert die Beziehungen sowohl zwischen Features und Code als auch zwischen Features untereinander über die gesamte Lebensdauer des Projekts und erfasst technische Schulden auf der Grundlage der Modularität von Features und nicht nur der Modularität des Codes.

Die Feature-Modularität und die Konzepte dahinter sind absolut innovativ und bahnbrechend auf dem Gebiet der Software-Qualitätsanalyse. Die zugrundeliegenden intelligenten mathematischen Modelle sind die Ergebnisse unserer langfristigen praktischen Forschung in diesem Bereich.

Zeitbasierte Analyse

Alle Arten der Software-Qualitätsanalyse zielen darauf ab, Mängel der Wartbarkeit zu identifizieren und vorherzusagen. Letztendlich geht es darum zu messen, wie gut ein System an veränderte Anforderungen angepasst werden kann. Existierende Ansätze der Code-Analyse behaupten jedoch, zuverlässige Aussagen über die Änderbarkeit eines Systems zu machen, indem sie lediglich den aktuellen Status des Codes analysieren, ohne effektiv das zu messen, worauf es wirklich ankommt: die tatsächlichen Änderungen eines Systems selbst.

Unsere Untersuchungen zeigen, dass die Berücksichtigung der zeitlichen Dimension des Software-Entwicklungsprozesses eine notwendige Voraussetzung ist, um verwertbare Erkenntnisse zu gewinnen und geschäftsrelevante Systemfehler vorherzusagen.

DETANGLE analysiert die gesamte Commit-Historie eines Projekts. Es verfolgt Code-Änderungen und setzt sie in Beziehung zueinander, anstatt nur die Ergebnisse der statischen Code-Analyse verschiedener Momentaufnahmen zu vergleichen. Wir haben intelligente Lösungen zur korrekten Berücksichtigung paralleler Entwicklungs-Branches in verzweigten Repositories oder sogar zwischen mehreren Repositories implementiert.

DETANGLE holt alles aus der Vergangenheit heraus, um die Zukunft zu verbessern.

Entscheidungen priorisieren

Die Behebung aller kritischer Findings im Code hinter den relevanten und stark gekoppelten Features übersteigt normalerweise das zugewiesene Budget.

DETANGLE bietet eine präzise Entscheidungshilfe bei der Priorisierung. Durch eine intelligente Kombination verschiedener Indikatoren, die eine abnehmende Effizienz beim Lesen und Schreiben von Code oder eine zunehmende Fehleranfälligkeit von Code-Modulen signalisieren, lässt sich eine belastbare Bewertung der Wichtigkeit einzelner Findings in Bezug zum Geschäftswert vornehmen.

Diese Informationen, welche in Form eines intuitiven Ampelsystems visualisiert werden, ermöglichen es den Ingenieuren, diejenigen technischen Schulden anzugehen, deren Behebung den größtmögliche Nutzen für eine Verbesserung der Code-Änderbarkeit hat.

DETANGLE unterstützt

git
svn
tfs
jira
redmine
trac
bugzilla
Programmiersprachen

Alle! DETANGLE unterstützt jeder Art von Textdateien einschließlich Konfigurationsdateien.