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.
0 8 -24 · w w w c o m p u t e r - a u t o m a t i o n d e | 11 Ch a t G P T-Se r i e Te i l 8 www trelectronic de Einschalten - absolute Position - SIL 3 Kat 4 Kleinster Absolutgeber für SIL 3-Anwendungen Funktional sicherer Drehgeber mit Profisafe und CIPsafety Ethernet IP SIL 3 SIL 2 - Drehgeber im Industriestandard 58mm Redundanter Aufbau KAT 4 zwei vollständig unabhängige Multiturndrehgeber in einem PROFIsafe PROFINET CIP Encoder Profil CIPsafety Powerlink openSAFETY Safety over EtherCAT CANopen Safety nach aktuellsten Standards © kr as 99 © Ro be rt Kot sc h - Fo to lia auch für ATEX Zonen 2 22 verfügbar Metrik wäre etwa der Maintainability Index der eine Kombination aus mehreren Metriken darstellt Dieser Index gibt an wie leicht eine Software gewartet werden kann beziehungsweise wie hoch das Fehlerrisiko bei einer Änderung ist Diese Analysewerkzeuge sind allerdings meist teuer oder für das Entwicklungsteam nicht zugänglich Günstig wäre es wenn sich auch LLMs mit Chat-GPT und Co zur einfachen Codebewertung verwenden ließen In Bezug auf quantitative Metriken ist das nur sehr eingeschränkt möglich Denn ein LLM ist kein Berechnungstool keine Wissensdatenbank und kein deterministischer Regelautomat Dies bedeutet dass LLMs nur sehr bedingt nützlich sind um Codemetriken für die Codebeurteilung zu ermitteln und zu berechnen Schauen wir uns dazu einige Bewertungsexperimente mit dem LLM ‚gpt-4o‘ von OpenAI und dem LLM ‚Gemini‘ von Google an Quantitative Bewertung Für unseren Versuch verwenden wir die vergleichsweise einfach zu ermittelnde „Cyclomatic Complexity“ CC nach McCabe Diese Metrik misst die Anzahl der unabhängigen Ausführungspfade in einem Softwareprogramm und dient als Indikator für dessen Komplexität Je höher die Komplexität desto aufwendiger und risikoreicher werden Änderungen und Fehlersuchen in dem entsprechenden Code Die Interpretation und Einschätzung der konkreten Werte werden wie folgt empfohlen • 1 - 10 Einfacher Code geringes Änderungsrisiko leicht verständlich gut testbar potenziell fehlerfrei • 11 - 20 Komplexerer Code moderates Risiko höherer Einarbeitungsund Testaufwand • 21 - 50 Komplexer Code hohes Änderungsrisiko erheblicher Einarbeitungsund Testaufwand • > 50 Untestbarer Code sehr hohes Änderungsrisiko potenziell fehlerbehaftet Die Versuche werden in der Programmiersprache Python durchgeführt Das Versuchsobjekt ist der quelloffene Code der Bibliothek ‚Chainlit‘ Die Referenz in Bezug auf die Codemetriken ist das Python-Software-Analysewerkzeug ‚Radon‘ Die Versuche mit den LLMs werden jeweils dreimal ausgeführt um auch die Varianz innerhalb der LLM-Antworten aufzuzeigen Vor den eigentlichen Versuchen mit Quellcode wurde jeweils mittels eines eigenen Prompts geprüft und sichergestellt dass gpt-4o und Gemini die Begriffe und die dazugehörigen Verfahren zur Ermittlung der Cyclomatic Complexity nach McCabe prinzipiell kennen Der verwendete Prompt wurde um eine gegenseitige Beeinflussung auszuschließen jeweils in einem neuen Chat durchgeführt Bei Gemini war es erforderlich jeweils im Incognito-Modus des Webbrowsers einen neuen Tab zu verwenden Das Antwortverhalten hatte ohne diese