Browse Prior Art Database

Lesbarkeitsanalyse von Quellcodes

IP.com Disclosure Number: IPCOM000021465D
Published in the IP.com Journal: Volume 4 Issue 2 (2004-02-25)
Included in the Prior Art Database: 2004-Feb-25
Document File: 4 page(s) / 183K

Publishing Venue

Siemens

Related People

Juergen Carstens: CONTACT

Abstract

Beim Entwickeln von Software und insbesondere beim Erstellen eines Quellcodes gibt es universelle Regeln, die durch die Entwickler eingehalten werden sollten, um die Qualitaet eines Quellcodes zu erhoehen. Dies ist besonders von Interesse, wenn mehrere Entwickler an dem gleichen Quellcode arbeiten. Diese Codierungsregeln kann man in syntaktische und semantische Regeln unterteilen. Die Anwendung von syntaktischen Regeln soll die Lesbarkeit eines Quellcodes erhoehen, jedoch gibt es bisher kein Verfahren zur automatischen Lesbarkeitserkennung. Eine Idee besteht nun darin, den Lesbarkeitsgrad anhand der Reaktion des menschlichen Auges auf Aehnlichkeit von Codezeilen zu erfassen. Abbildung 1 zeigt, wie Woerter und Leerzeichen aus groesserer Entfernung vom Auge wahrgenommen werden. Die Buchstaben und Leerzeichen werden vom Auge lediglich als optische Signale wahrgenommen und die Lesbarkeit haengt von der Aehnlichkeit der Codezeilen bzw. Signale ab, so dass diese Aehnlichkeit als Indikator fuer die Lesbarkeit dienen kann. In Abbildung 2 ist eine Modellierung der einzelnen Zeilen als digitale Signale dargestellt. Diese Modellierung kann man wie folgt formalisieren:

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 4

S

Lesbarkeitsanalyse von Quellcodes

Idee: Serdar Goekkus, DE-Erlangen

Beim Entwickeln von Software und insbesondere beim Erstellen eines Quellcodes gibt es universelle Regeln, die durch die Entwickler eingehalten werden sollten, um die Qualitaet eines Quellcodes zu erhoehen. Dies ist besonders von Interesse, wenn mehrere Entwickler an dem gleichen Quellcode arbeiten. Diese Codierungsregeln kann man in syntaktische und semantische Regeln unterteilen. Die Anwendung von syntaktischen Regeln soll die Lesbarkeit eines Quellcodes erhoehen, jedoch gibt es bisher kein Verfahren zur automatischen Lesbarkeitserkennung.

Eine Idee besteht nun darin, den Lesbarkeitsgrad anhand der Reaktion des menschlichen Auges auf Aehnlichkeit von Codezeilen zu erfassen. Abbildung 1 zeigt, wie Woerter und Leerzeichen aus groesserer Entfernung vom Auge wahrgenommen werden. Die Buchstaben und Leerzeichen werden vom Auge lediglich als optische Signale wahrgenommen und die Lesbarkeit haengt von der Aehnlichkeit der Codezeilen bzw. Signale ab, so dass diese Aehnlichkeit als Indikator fuer die Lesbarkeit dienen kann. In Abbildung 2 ist eine Modellierung der einzelnen Zeilen als digitale Signale dargestellt. Diese Modellierung kann man wie folgt formalisieren:

V

n

 [ 2 1

]

(

      al textToSign

line

 ) 1

V

[

(

n

]

[g61] [g61]

      al textToSign

line

 ) 2

Die Korrelation der aufeinander folgenden Zeilen ergibt deren Aehnlichkeit.

min(

)

      n Korrelatio

Die Korrelationsergebnisse werden fuer jede Zeile normalisiert und dann ueber das gesamte Dokument summiert. Das Ergebnis einer abschliessenden Normalisierung des gesamten Dokuments liefert schliesslich den Messwert fuer die Lesbarkeit des Codes. Zur Erhoehung der Aussagekraft koennen z.B. folgende Erweiterungen ergaenzt werden:

- Getrennte Betrachtung von Quellcode und Kommentaren

- Ignorieren von leeren Zeilen und Zeilen mit 1 oder 2 Zeichen

- Modellierung von Bestandteilen einer Codezeile als digitale Signale nicht nur auf Wortebene

(s. Abb. 2), sondern auch Zeichenebene, wobei gleiche Buchstaben untereinander hoeher bewertet werden koennen

- Multiplikation des Korrelationsergebnisses mit einem Korrekturfaktor, der abhaengig ist von der Anzahl der Leerzeilen zwischen den Codezeilen

Die vorgestellte Idee bietet somit eine Moeglichkeit zur Definition der Lesbarkeit, zur Modellierung von Codezeilen als Signalvektoren und zur Bewertung der Korrelationsergebnisse.

Im Folgenden wird ein moegliches Ausfuehrungsbeispiel gezeigt. Die Abbildung 3 zeigt die Modellierung der Woerter in einer Codezeile, die Abbildung 4 die Korrelation von zwei Vektoren und die Abbildung 5 das Ergebnis der beiden vorangegangenen Operationen, zum einen das schlecht lesbare Codefragment und zum anderen das Resultat der Lesbarkeitsanalyse dieses Codefragments. Demgegenueber ist in Abbildung 6 ein gut lesbares Codefragment mit der ents...