Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
Ch a t G P T-Se r i e Te i l 8 12 | w w w c o m p u t e r - a u t o m a t i o n d e · 0 9 -24 strikte Trennung der Fragen darauf hingedeutet dass die unterschiedlichen Chats nicht komplett rückwirkungsfrei voneinander sind Der Test-Prompt lautet wie folgt You are an expert code analyst with deep knowledge of cyclomatic complexity CC analysis Please determine the McCabe CC of this code in the following format total cc sum of all cyclomatic complexities of all methods in the given file num methods total number of methods detected in code num methods greater 0 number of methods with a CC greater than zero average cc total cc num methods greater 0 `̀ `python `̀ ` Die Ergebnisse in Tabellenform In der Tabelle links fallen sofort die deutlichen Abweichungen der von den LLMs ermittelten Werte zum Metriken-Tool Radon auf Zum einen ist die systematische Unterbewertung im Gegensatz zu Radon augenscheinlich Die Erklärung dafür ist dass der einfache Prompt die Bestimmung der McCabe-CC nicht exakt in jedem Punkt und Parameter definiert Somit unterscheidet sich die Berechnungsvorschrift zur Ermittlung der CC in Radon und den LLMs allein schon auf algorithmischer Ebene Dies führt in unseren Beispielen zu tendenziell zu niedrigeren LLM-Werten Das ist ein nicht überraschendes Problem denn es ist nicht anzunehmen dass exakt der gleiche fest codierte Algorithmus von Radon auch dem Modellwissen entspricht Wer sich hier dem Metriken-Tool seiner Wahl besser annähern will muss die im Tool codierten Analysevorschriften explizit im Prompt aufführen Da die Abweichungen systematischer Natur sind sind die Größenordnungen in sich einigermaßen konsistent und somit im Sinne einer groben Hausnummer dienlich Wobei hier sicherlich immer ein erfahrener Entwickler oder eine Entwicklerin ein kritisches Auge darauf werfen sollte bevor konkrete Schlüsse aus den LLM-Metriken gezogen werden Zum anderen fallen die sehr stark schwankenden Werte auf Damit kann gpt-4o oder Gemini eher nur als grobe Richtung als einer konkreten Metrik dienen Wer also genau seinen Code vermessen will wird um die am Markt befindlichen Architekturund Codeanalyse-Werkzeuge nicht herumkommen Der Einsatz von gpt-4o oder Gemini ist zum aktuellen Stand der Technik nur für eine ganz grobe Einschätzung oder in Ermangelung eines Metriken-Tools als notdürftiger Ersatz denkbar Qualitative Bewertung Im Gegensatz dazu können wir bei der qualitativen Bewertung von Software-Strukturen und -Architekturen mehr Hilfestellung von den LLMs erwarten Auch wenn die Antworten und Einschätzungen der LLM nur als Formulierungsvorschlag und nicht als absolute Wahrheit verstanden werden sollten so ist Versuchsdatei Werkzeug Cyclomatic Complexity Summe Cyclomatic Complexity Durchschnitt Anzahl der gefundenen Funktionen Anzahl der Funktionen mit CC > 0 Server py 948 LOC gpt-4o 1 Test 89 3 0 30 30 gpt-4o 2 Test 107 3 8 28 28 gpt-4o 3 Test 81 2 9 28 28 Gemini 1 Test 29-49 2 1-3 5 14 14 Gemini 2 Test - - - - Gemini 3 Test - - - - Radon McCabe 116 3 9 30 30 Step py 475 LOC gpt-4o 1 Test 51 2 8 18 18 gpt-4o 2 Test 50 2 8 18 18 gpt-4o 3 Test 60 4 0 15 15 Gemini 1 Test 18 2 12 9 Gemini 2 Test 12 1 5 10 8 Gemini 3 Test 12 1 71 8 7 Radon McCabe 83 4 2 20 20 sps 2024 Wir sind dabei computerautomation sps codesys AZ SPS 1 8 Satzspiegel codesys indd 1 05 07 2024 13 28 42