Suchen

Softwarequalität

Legacy-Code ist eine tickende Zeitbombe

Seite: 4/5

Firmen zum Thema

„Bestandscode ist eine tickende Zeitbombe“

Es gab vor Kurzem ja eine ganze Welle mit Ransomware. Sogar Krankenhäuser wurden von dieser Malware komplett lehmgelegt. Und das ist eine ziemlich gruselige Vorstellung.

Erst heute Morgen hat man mir gesagt, dass einige Firmen es komplett aufgegeben haben, Angriffen vorzubeugen. Sie wissen, dass die Attacken kommen. Sie bewegen sich immer mehr in die Richtung, dass sie zu erkennen versuchen, dass sie angegriffen werden, um diese Attacken dann zu stoppen. Es klang auf jeden Fall sehr glaubwürdig.

Man weiß: Die Attacken kommen auf jeden Fall, man kann sie nicht im Vorfeld abwehren. Man kann aber den Internet-Traffic analysieren und ungewöhnliche Muster aufspüren, um zu erkennen, dass man gehackt wird, und sich dann abschalten.

Wir nehmen auf jeden Fall wahr, dass immer mehr Menschen sagen: „Hör zu, wir haben diese Mengen an altem Code. Da Softwareentwicklung so teuer ist, versuchen wir ihn so lange zu nutzen, wie es geht, bevor wir letztendlich aufgeben und alles neu machen müssen.“ Da gibt es ein unglaubliches Interesse. Deshalb entwickeln wir eine automatische Technik, die es erlaubt, einen Grundbestand an Testfällen zu erzeugen. Wenn man nämlich eine Applikation draußen im Feld hat, dann funktioniert die Software ja irgendwie und es gibt auch eine Wartungsgeschichte dafür.

Vielleicht ist sie nicht ausreichend getestet, aber sie ist immerhin ein paar Jahre im Betrieb. Sie haben auch ein paar Bugs gefixt, Ihre Kunden haben auch ihre Erfahrungen damit gemacht, also verhält sie sich erwartbar. Ich sage immer: Wenn man am allerersten Tag, an dem man eine Software neu schreibt, auch testet, dann ergibt das keinen Sinn. Aber wenn die Software ein paar Jahre lang in Betrieb ist, dann validiert man, man dokumentiert, man formalisiert, was sie tut, und das ist schon einiges wert.

Und daraus helfen wir – quasi als Zwischending zwischen Produkt und Service – einigen Kunden dabei, das Verhalten einer bestehenden Applikation zu kartografieren. Das ist unheimlich interessant. Man bringt sie von einem unzureichend getesteten Zustand zu einem ausreichend getesteten Zustand, und so haben die Kunden einen Grundbestand an Testfällen, dem sie neue hinzufügen können.

Es ist natürlich unmöglich, alle notwendigen Tests händisch zu bauen. Aber wenn wir auf den Quellcode bestimmte Heuristiken anwenden können, um intelligente Testfälle zu erzeugen, dann hat das einen echten Wert. Und wir sind bereits von einer Handvoll Kunden engagiert worden, um genau das zu tun.

Wie gehen Sie dabei vor?

Wir haben unsere eigene proprietäre Technik, die eine Erweiterung unserer bestehenden Werkzeuge darstellt. Darüber hinaus nutzen wir Algorithmen und Heuristiken, die wir den Kunden nicht verkaufen, sondern als Service einsetzen. Damit ist es möglich, 100.000 Codezeilen nach einigen Monaten zu testen und den Kunden einen Grundbestand von Testfällen zu geben – und zwar schneller, als irgendjemand das manuell tun könnte.

Wie reagiert die Industrie darauf?

Die Kunden, mit denen wir das momentan machen, sind absolut positiv gestimmt. Sie verstehen, dass sie damit 90 Prozent günstiger wegkommen, als wenn sie diese Testfälle selbst manuell erstellen müssten.

(ID:44562071)