SIGS DATACOM Fachinformationen für IT-Professionals

SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
03. - 07. Februar 2020, München

Sessionsdetails

Vortrag: Do 9.1
Datum: Do, 06.02.2020
Uhrzeit: 09:00 - 10:30
cart

Programmieren Sie noch Unittests oder generieren Sie schon?

Uhrzeit: 09:00 - 09:45
Vortrag: Do 9.1 1)

 

Steigende Komplexität von Systemen bedingt, dass immer mehr Tests notwendig sind. Entwickler erstellen meist zu wenige Tests. In guten Fällen werden ca. 30 Prozent der Entwicklerzeit für die Unittesterstellung verwendet.
Wir entwickeln im Rahmen eines Forschungsprojekts eine KI-gestützte Lösung zur Testautomatisierung unter dem Motto „Wir automatisieren die Testautomatisierer!“
Durch diesen Testcode-Generator werden ca. 75 Prozent der in der Softwareentwicklung notwendigen Testprogrammierarbeiten automatisch mithilfe von Artificial Intelligence durchgeführt.

Zielpublikum: Entwickler, Architekten, Testautomatisierer, Entwicklungsleiter
Voraussetzungen: Gute Kenntnisse in Testen und Unittests
Schwierigkeitsgrad: Experte

Extended Abstract
Die Verantwortung für Unternehmen, höhere Qualitätsstandards in Softwareentwicklungen zu bringen, wächst ständig und die zunehmende Komplexität von Systemen führt dazu, dass immer mehr Tests notwendig sind. Systeme nach dem Stand der Technik abzusichern und Haftung gegenüber Auftraggebern im Falle von Fehlern zu reduzieren, erweitert die Problemstellung.
Deswegen wächst weltweit die Nachfrage nach der Entwicklung von Technologien und Lösungen zur Verbesserung von Softwaretests.
Entwickler sind "Mangelware" und werden von Unternehmen händeringend gesucht.
Naturgemäß sinkt die Produktivität – und die Motivation - dieser teuren Ressourcen durch zeitraubende Testaufgaben. Entwickler erstellen jedoch fast immer zu wenige Tests. In guten Fällen werden ca. 30 Prozent der Entwicklerzeit für die Testerstellung aufgewendet.
Es gibt viele Test-Tools am Markt, aber praktisch keine Lösungen, welche basierend auf künstlicher Intelligenz die Entwickler dabei unterstützen, schnell und sinnvoll Software zu testen.
Auf Basis eines Vorprojekts wurde gemeinsam mit der technischen Universität Wien ein Konzept erstellt und prototypisch umgesetzt.
Zur weiteren Umsetzung und Fokussierung auf dieses Thema wurde 2019 eine eigene Firma Automated Software Testing GmbH als Start-up gegründet.
Nun fokussiert sich die Firma in einem Forschungsprojekt ganz auf das Thema Artificial Intelligence in der Testautomatisierung.
Im Vortrag werden die Ideen und Konzepte zur Entwicklung einer KI-gestützten Lösung zur Testautomatisierung dargestellt. Durch diesen Testcode-Generator sollen ca. 75 Prozent der bei der Unittesterstellung für den Entwickler notwendigen Testerstellungs- und Programmierarbeiten automatisch mit Unterstützung von Artificial Intelligence bzw. Machine Learning durchgeführt werden.
Zentrale Entwicklungsinhalte sind:

  • Automatisiert Testmodelle aus Software-Code generieren
  • Testbarkeit feststellen und optimieren
  • Automatische Absicherung des Codes
  • Wartbarkeit des Codes optimieren
  • Lesbarkeit des Codes optimieren
  • Automatische Testdatenermittlung
  • Effizientes Testdatenset automatisch finden
  • Automatisiertes Kapseln von Codeteilen

 

 

 

Computer, 'fix' meinen Code!

Uhrzeit: 09:45 - 10:30
Vortrag: Do 9.1 2)

 

Wie wäre es, wenn wir direkt den Code finden könnten, den wir gerade brauchen? Wie wäre es, wenn uns lästige Fehler im Code automatisch beseitigt werden würden? Wie wäre es, wenn wir überhaupt nicht mehr selbst coden müssten?
“Machine Learning on Code” will uns diese und noch mehr Fragen beantworten. Wir werfen einen Blick auf frei verfügbare Werkzeuge, welche Softwareentwickler*innen in ihrer täglichen Arbeit intelligent assistieren können. Dazu blicken wir auch hinter die Fassade unserer zukünftigen, digitalen Entwicklerkollegen*innen.

Zielpublikum: Softwarearchitekt*innen, Qualitätsbeauftragte, Wartungsmitarbeiter*innen
Voraussetzungen: Kenntnisse in einer objektorientierten Programmiersprache
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Internet-Giganten wie Facebook, GitHub oder Google müssen auch gigantische Mengen an Quellcode effizient managen. Dazu gehört es, vorhandenen Code überhaupt erst einmal auffindbar zu machen, um das ständige Neuentwickeln des Rads zu vermeiden. Aber es geht auch darum, eine qualitativ hochwertige Codebasis zu schaffen, um eine kontinuierliche Weiterentwicklung zu erreichen.
In diesem Talk sehen wir uns Werkzeuge u.a. aus den Forschungsabteilungen der zuvor genannten Unternehmen an, welche diese Aufgaben und mehr mithilfe des maschinellen Lernens bewältigen. Wir blicken auf Werkzeuge wie die Aroma Code Recommendation Engine, welche es erlaubt, zum eigenen Code syntaktisch ähnliche Programmiermuster aus fremden Code-Repositories zu finden. Oder Probots: kleine automatisierte Helfer, welche monotone, repetitive Quellcodeverwaltungsaufgaben übernehmen und mit menschlichen Beteiligten kommunizieren können. Und es geht noch weiter: Getafix ist ein sog. Autofix-Werkzeug, welches aus Bug-Reports selbstständig Vorschläge für die Behebung von Programmierfehlern erzeugt und dadurch Bugfixes selbst schreiben kann. Über ein Praxisbeispiel sehen wir uns erste Schritte an, wie Entwickler*innen selbst Machine Learning nutzen können, um ihre eigenen Ideen umzusetzen.