Projekte


Echtzeit-Analyse

Qiagen visualisiert Software-Entwicklung in 3D

18.09.2014
Mit einer Software visualisiert die Biotechfirma Qiagen bei der Anwendungsentwicklung den Quellcode in Echtzeit. Dreidimensionale Softwarekarten verbessern die Code-Qualität, wie die Erfahrungen zeigen.
"So wie in der Medizin Röntgenbilder zu Diagnosezwecken eingesetzt werden, können wir nun auch in der Software-Entwicklung ein bildgebendes Verfahren verwenden", sagt Stefan Küsters, Associate Director Software bei Qiagen.
"So wie in der Medizin Röntgenbilder zu Diagnosezwecken eingesetzt werden, können wir nun auch in der Software-Entwicklung ein bildgebendes Verfahren verwenden", sagt Stefan Küsters, Associate Director Software bei Qiagen.
Foto: Qiagen

Ein Blick. Mehr benötigt Stefan Küsters nicht, um auf Anhieb zu erkennen, ob sich im Code der Anwendung eine mögliche Schwachstelle befindet. Küsters ist Associate Director Software bei Qiagen - und damit ist er unter anderem für die Qualitätssicherung von Software zuständig, die die Instrumente zur automatisierten Vorbereitung und Analyse biologischer Proben des internationalen Unternehmens mit Hauptsitz in den Niederlanden steuern. "Unsere Produkte müssen höchsten Anforderungen im medizinischen Einsatz genügen. Ausfälle aufgrund von Softwarefehlern können wir uns nicht erlauben", sagt Küsters.

Um anfälligem Code auf die Spur zu kommen, setzt der Softwarearchitekt auf die vorgeschriebenen automatisierten Tests sowie auf Code Reviews und lückenlose Architekturdokumentationen.

Doch für den Anbieter von Probenvorbereitungs- und Testtechnologien in der molekularen Diagnostik, akademischen Forschung, Pharmaindustrie und sogenannten angewandten Testverfahren wie Forensik oder Veterinärmedizin reichte das noch nicht aus. "Wir wollten die gängigen Verfahren um eine zusätzliche Kontrollinstanz ergänzen, die uns eine schnelle und noch zuverlässigere Kontrolle ermöglicht."

Seit gut einem Jahr setzt Küsters deshalb die "Effectiveness Platform" von Software Diagnostics ein, mit deren Hilfe sich die Anwendungsentwicklungen analysieren und visualisieren lassen. In einer Softwarekarte, die wie ein Stadtplan aufgebaut ist, kann er sofort erkennen, ob definierte Metriken im Soll sind - oder ob der Code Schwachstellen aufweist: Blaue Einfamilienhäuser bedeuten "alles in Ordnung"; bei orangefarbenen Gebäuden sind regelmäßige Kontrollen ratsam. Und Hochhäuser in der Signalfarbe Rot zeigen akuten Handlungsbedarf an. Etwa 20 Metriken und Key-Performance-Indikatoren (KPIs) überwacht Küsters mit Hilfe der Plattform.

"Software ist aber eine Black Box"

"Bisherige Testmethoden bieten eine hohe Sicherheit; Software ist aber eine Black Box, in die man nicht reinschauen kann. So wie in der Medizin Röntgenbilder zu Diagnosezwecken eingesetzt werden, können wir nun auch in der Software-Entwicklung ein bildgebendes Verfahren verwenden", so Küsters. Die Informationen dazu holt sich die Effectiveness Platform aus den ToolsTools und Repositorien, die im Laufe einer Entwicklung angelegt und genutzt worden sind. Zu ihnen gehört beispielsweise das Versionierungssystem, in dem jede Codeänderung der Entwickler abgelegt ist. Alles zu Tools auf CIO.de

Die 3-dimensionale Softwarestadt.
Die 3-dimensionale Softwarestadt.
Foto: Qiagen

Diese Informationen ermöglichen es, Risiken frühzeitig zu erkennen und deren Trends über die Zeit zu verfolgen. Weitere ausgewertete Informationen kommen aus Testfall-Management-Systemen oder von bereits verwendeten Code-Checkern; aber auch der eigentliche Sourcecode wird durch die Effectiveness Platform vermessen. Wie ein Business-Intelligence System sammelt die Plattform alle Rohdaten ein, wertet sie mit Hilfe von BI-Methoden aus und stellt die Ergebnisse anschließend in übersichtlichen Softwarekarten dar.

Überblick in Echtszeit statt Excel-Listen

Statt meterlangen Excel-Ergebnislisten, die im Rahmen von zeitaufwändigen manuellen Code-Reviews erstellt werden, liefert das Instrument in Echtzeit einen ganzheitlichen Überblick über den Zustand der Anwendungssoftware - eine unverzichtbare Voraussetzung für das Risikomanagement im Rahmen komplexer Entwicklungen. So lassen sich beispielsweise Risiken viel früher erkennen, Ursachen, Gefahren und Folgen schneller definieren oder Aktionen gezielter treffen.

"Wir erkennen sofort, an welchen Stellen sich Entwicklungsbrennpunkte befinden und können entsprechende Gegenmaßnahmen einleiten - etwa indem wir die Komplexität der Funktionen oder die Zahl der Parameter reduzieren, so dass die Funktion nicht unübersichtlich wird", erklärt Küsters.

Wartung und Programmieren fallen leichter

Auch grundsätzliche Fragen - etwa ob bestimmte Anforderungen überhaupt testbar sind beziehungsweise wie hoch der entsprechende Aufwand ist - beantwortet die Effectiveness Platform. Zudem verringert die grafische Aufbereitung den Messaufwand.

Damit ergeben sich für Entwickler und IT-Management neue Möglichkeiten, an der grundsätzlichen Verbesserung des Quellcodes zu arbeiten: "Nicht nur die Wartung, auch das Programmieren von Modulen fällt leichter, wenn der Code sichtbar ist", so Küsters.

Qiagen - Visualisierung von Software

Branche

Biotechnologie

Firmenprodukte

Instrumente zur automatisierten Vorbereitung und Analyse biologischer Proben

Zeitrahmen

Einsatz bei unterschiedlichen Entwicklungsprojekten mit Laufzeiten von ca. zwei Jahren

Mitarbeiter

Je nach Projekt sind 10 bis 30 Mitarbeiter mit Entwicklung, Test und den anderen Aufgaben rund um die Software-Entwicklung betraut, teilweise erheblich mehr

Aufwand

keine Angabe

Dienstleister

Software Diagnostics

Produkt

Effectiveness Platform

Einsatzort

Entwickelt wird in Deutschland und anderen Teilen der Welt

Internet

www.qiagen.com

Zur Startseite