Lieferketten

Lieferketten entstehen, wenn viele Firmen in den Prozess der Produktion einbezogen sind, von Rohstoffen bis zum fertigen Produkt.

Eine Firma könnte alles alleine herstellen, aber oft erfordert die Herstellung eines Produktes die Zusammenarbeit mehrerer Firmen. Zum Beispiel könnte eine Firma die Gangschaltung für ein Fahrrad herstellen, eine andere die Laufräder, und weitere Firmen kümmern sich um andere Bauteile oder Ressourcen wie Gummi für die Reifen.

Der Fahrradhersteller produziert nur einige wenige Bauteile selbst und bezieht die restlichen von anderen Unternehmen, die wiederum ihre Bauteile von weiteren Unternehmen beziehen können. So können komplexe Beziehungen zwischen verschiedenen Bauteilen und Firmen in verschiedenen Ländern entstehen.

Softwarelieferketten

Auch bei Software ist es oft einfacher, existierende Bauteile zu nutzen, statt selbst welche zu programmieren. Dadurch entstehen komplexe Netzwerke aus Softwarebauteilen von verschiedenen Herstellern. In solchen Softwarelieferketten ist es manchmal schwer zu erkennen, von welchen Herstellern die Softwarebauteile stammen oder wo sie überhaupt verbaut sind. Dennoch muss geprüft werden, ob alle wichtigen Teile sicher sind.

Ein einziges fehlerhaftes oder bösartiges Teil kann die Sicherheit des Programms gefährden, ähnlich wie bei einem Auto auf der Autobahn, wenn eine Schraube bricht. Diese Arbeit untersucht Softwarelieferketten, die komplexe Netzwerke aus solchen Softwarebauteilen bilden.

Darstellung als Graphen

Im Beispiel wird die Lieferkette eines fiktiven Schokoladenkuchens dargestellt. Die Zutaten sind als Punkte dargestellt und ihre Beziehungen untereinander werden durch Linien gezeigt. Beispielsweise wird gezeigt, dass Zucker für den Kuchen benötigt wird. Der Kuchen wird in Gelb dargestellt und alle Zutaten in verschiedenen Orangetönen. Je mehr "Schritte" zwischen dem Kuchen und einer Zutat sind, also je weiter weg die Zutat in der Lieferkette vom fertigen Kuchen ist, desto heller ist die Farbe der Zutat.

Die Größe der Punkte in der Softwarelieferkette hängt davon ab, wie oft das Softwarebauteil verwendet wird und wie viele Menschen daran mitgearbeitet haben.