Die Integration von KI in die Softwareentwicklung – ein zweischneidiges Schwert?
Autor/Redakteur: Peter McKee, Head of Developer Relations and Community bei Sonar/gg
Der Einsatz von KI-basierten Lösungen durchlebt einen rasanten Wandel. Von personalisierten Suchalgorithmen und der Erstellung von Texten im privaten Gebrauch bis hin zur intelligenten Personalplanung und automatisierten Fertigungsprozessen in der Arbeitswelt – man kann sich der KI kaum noch entziehen. Aber die Sache ist die: Niemand weiß, welches Potenzial in Zukunft noch in ihr steckt, auch nicht die Software-Ingenieure. Und doch ist eins klar: Der Einsatz von KI in der Softwareentwicklung hat Vorteile. Sie hilft zum Beispiel dabei, Softwareprojekte effizienter zu gestalten – soll heißen, gesteigerte Geschwindigkeit von Development und Delivery, und damit eine verbesserte Gesamtproduktion. Dies bringt große Verantwortung mit sich. Es sind daher klare Richtlinien erforderlich, mit dem Ziel die Qualität des veröffentlichten Codes zu sichern und das mögliche Sicherheitsrisiko, das entstehen kann, zu minimieren. Ein Clean-Code-Mindset hilft dabei, generative KI so zu nutzen, dass weiterhin qualitativ hochwertiger Code geschrieben, die Cybersicherheit erhöht, und Technical Debt reduziert werden kann.
KI als Retter für die geplagte IT-Branche?
Die deutsche IT-Branche verzeichnet seit mehreren Jahren ein steigendes Fachkräftedefizit. Eine schwerwiegende Folge dieser Fachkräftelücke ist, dass sich Entwickler:innen oftmals überlastet und überfordert fühlen. Das Burnout-Syndrom ist ein bekanntes Problem, und laut einer Untersuchung von Haystack Analytics, ist einer der häufigsten Gründe dafür der erhöhte Arbeitsaufwand unter Developern. Mehr als 80 Prozent sind von Burnout betroffen. Die Integration von KI in die Arbeitsabläufe von Entwicklungsteams trägt dazu bei, diesen Zustand zu verbessern. Ein ausschlaggebender Punkt ist, dass KI bei der schnelleren Bearbeitung von Aufgaben hilft. Wie eine Studie von GitHub zeigt, können Developer durch den Einsatz eines generativen KI-Tools ihre Aufgaben in doppelter Geschwindigkeit erledigen, wenn nicht sogar schneller. Die KI-Integration führt neben der erhöhten Leistungsfähigkeit auch zu einem verbesserten Arbeitsklima. Software-Ingenieure sind zeitlich flexibler, wodurch sie mehr Kapazität haben an innovativen Projekten mitzuwirken, und weniger an repetitiven Tasks wie die Auseinandersetzung mit fehler- oder lückenhaftem Code.
Die Risiken von KI
Natürlich stellt sich beim Einsatz von künstlicher Intelligenz in der Softwareentwicklung auch die Frage nach dem Risikopotenzial. Ein möglicher Fallstrick bei der Programmierung mit KI ist, dass im generierten Code Schwachstellen reproduziert werden können, die den Developern nicht auffallen oder die nicht erkannt werden. Die Gefahr besteht, dass Entwickler:innen häufiger im Entstehungsprozess zurückgehen und Software korrigieren müssen, da der KI-generierte Code weder direkt von einem Developer geschrieben, noch während dem Entstehungsprozess einer gründlichen Codeprüfung unterzogen wurde. Was hinzukommt: Wenn Teile dieses Codes bei ihrer Zusammensetzung nicht ordnungsgemäß überprüft werden, können sie eine Quelle für Sicherheitsprobleme sein.
Auch die Frage nach dem Urheberrecht ist für viele Unternehmen von Relevanz. Normalerweise ist für die Nutzung urheberrechtlich geschützter Inhalte die Erlaubnis der Verfasserin oder des Verfassers erforderlich. Doch gerade bei den großen Datenmengen, die für die Weiterentwicklung von KI-Tools genutzt werden, ist das nur schwer realisierbar. Daher greift laut Urheberrechtsgesetz für das sogenannte „Text und Data Mining“ eine Schranke des Urheberrechts. Darunter wird die automatisierte Analyse von digitalen beziehungsweise digitalisierten Werken verstanden, um daraus Informationen zu gewinnen. Laut dem Paragraph 44b Absatz 2 UrhG darf eine KI somit mit frei zugänglichen, digitalen Daten trainiert werden. In Bezug auf das Software-Development bedeutet das: Nach dem deutschen Urhebergesetz gibt für einen von der KI erstellten Quellcode kein Urheberrecht.
KI und Clean Code – Das Traum-Duo für die Zukunftsfähigkeit
Unabhängig davon, ob generative KI-Tools das Überprüfen von Codefehlern übernehmen werden, möchte jeder Developer auch weiterhin sicher sein können, dass einwandfreier und sauberer Code programmiert wird. Developer sind oft stolz auf ihre Arbeit und möchten daher verhindern, dass fehlerhafter Code in die Produktion gelangt, ganz gleich, ob er von Menschen geschrieben oder maschinell erzeugt wurde. Hier kommt die Clean-as-You-Code-Methodik ins Spiel. Der Ansatz konzentriert sich darauf, einheitliche Standards mit vorgeschriebenen Quality Gates, also Kontrollpunkten im Ablauf eines Development-Projekts, zu schaffen und in der Folge anzuwenden. So kann sauberer Code entstehen, der nur eine geringe Menge an Technical Debt aufweist und weder kritische Sicherheitsprobleme noch Blockierungsfehler enthält. Software-Ingenieure, die einen solchen Ansatz verfolgen, sind dadurch fähig, die Risiken zu reduzieren, die die Nutzung von KI im Softwareentwicklungszyklus mit sich bringen kann. Durch die Anwendung von Clean-Code-Lösungen erhöhen Entwickler:innen die Qualität des geschriebenen Codes. Um diese Qualität und die künftige Produktivität noch mehr zu steigern, müssen jedoch ordnungsgemäße Code-Überprüfungen eine Voraussetzung sein, um sicher gehen zu können, dass der Code für Änderungen geeignet ist, und nicht ständig überarbeitet werden muss. Mit Blick in die Zukunft ist festzustellen, dass die KI in jedem Fall das Software-Development verändern wird. Aus diesem Grund werden insbesondere die Unternehmen im Vorteil sein, die Best Practices von Clean Code anwenden.
Sicherheit durch KI und Clean Code
Regelmäßig wird darüber berichtet, wie Unternehmen, Organisationen und öffentliche Einrichtungen Opfer von Cyberangriffen werden. Wie ein im Juni 2023 veröffentlichter Report des TÜV-Verbands zeigt: „Gut jedes zehnte Unternehmen in Deutschland war im vergangenen Jahr von einem IT-Sicherheitsvorfall betroffen.“ Allerdings gibt es Wege, Gefahren abzuwehren, sie müssen nur wahrgenommen werden. Da die Zahl der Angriffe durch Cyberkriminelle weiter zunimmt und Angreifer:innen potenziell KI-Tools zur Erstellung von bösartigem Code nutzen können, ist es für Unternehmen unabdingbar, ein Regelwerk für die Softwaresicherheit einzuführen und dieses umzusetzen. Denn oft werden zwar die Sicherheitslücken entdeckt, aber selten die eigentliche Ursache analysiert und behoben – nämlich, dass der Code nicht nach den Best Practices von Clean Code programmiert wurde. Für Unternehmen, die Sicherheit als wesentlich erachten, ist dieser Entwicklungsansatz wichtig, da er von Anfang an eine hohe Qualität der Software gewährleisten kann. Dadurch sind sie deutlich besser gegen Cyberattacken gewappnet.
Fazit
Es zeigt sich, dass Unternehmen, die den Einsatz von generativen KI-Tools in der Softwareentwicklung planen, vorsichtig und durchdacht vorgehen müssen. Um die Vorteile der KI zu verstärken und die mit ihr verbundenen Gefahren zu mindern, haben viele Unternehmen in den letzten Jahren sogenannte Governance-Rahmenwerke, oder auch „KI-Kontrollsysteme“, entwickelt, die den Einsatz von ethischer, fairer und vertrauenswürdiger KI leiten sollen. Durch diese internen Nutzungsrichtlinien können Risiken, die beispielsweise mit der Nutzung von KI im Software-Development einhergehen, im Unternehmen deutlich reduziert werden. Trotz der Bedenken gegenüber dem Einsatz von künstlicher Intelligenz hat dieser Potential. Mit Clean-Code-Lösungen und einem Clean-as-You-Code-Ansatz können Unternehmen ein wirksames System einführen, mit der sie einen bestmöglichen Code-Zustand erreichen, unabhängig davon, ob mit generativer KI oder ohne.