19324312 Projektseminar

SoSe 21: Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Volker Roth

Zusätzl. Angaben / Voraussetzungen

Zielgruppe:

Dieses Software-Projekt richtet sich an Studenten (m/w/d) der Informatik (Computer Science) und der Datenwissenschaften (Data Science).

Kommentar

Motivation

Die Motivation für dieses Softwareprojekt ist die wiss. Analyse der möglichen Verbreitung von Softwarelizenzen mit Zivilklauseln in Offener Software, also die Einschränkung der Nutzung einer Software auf Anwendungen zum Wohle von Zivilisten. Die zugrunde liegende Hypothese ist, daß dies eine unabhängige Entwicklung von zivilen und nicht-zivilen Softwaresystemen befördert und daß unabhängig entwickelte Systemtypen mit unterschiedlichen Cyberwaffen angegriffen werden müssen. Die damit verbundene Hoffnung ist es einerseits, Kollateralschaden zu reduzieren, und andererseits, Verstöße gegen internationales Recht besser einordnen zu können. Die Analyse soll sich auf öffentlich verfügbare Daten aus Paketmanagern und Social Programming Sites wie GitHub stützen. Die Daten sind auf geeignete Weise zu sammeln, aufzubereiten und auszuwerten.

Inhalte

Gegenstand der Datensammlung, Datenzusammenführung und Auswertung sind die Abhängkeiten zwischen Softwarekomponenten, zum Beispiel, Anwendungen oder Bibliotheken. Hierbei soll zwischen zwei Arten von Abhängigkeiten unterschieden werden:

  1. Laufzeitabhängigkeiten: eine Softwarekomponente A benötigt zur Ausführung Funktionen einer Softwarekomponente B.
  2. Erstellungsabhängigkeiten: eine Softwarekomponente A benötigt zur Kompilierung oder zur Konfiguration eine Softwarekomponente B.

In beiden vorher angegebenen Fällen beeinflußt die Wahl der Software-Lizenz für Komponente B ggf. die Wahl der Software-Lizenz für Komponente A, zum Beispiel wenn A unter einer Software-Lizenz veröffentlicht wird, die verlangt, daß von ihr abhängige Komponenten B unter der gleichen oder einer ähnlichen Lizenz veröffentlicht werden. Diese Abhängigkeit pflanzt sich ggf. transitiv durch den Graphen der Abhängigkeiten durch.

Weiterhin soll auf pseudonymisierte Weise erfasst werden, welche Entwickler zu welchen Projekten beitragen, damit auf Basis dieser Verteilung bei der Auswertung Szenarien gebildet werden können.

Das Softwareprojekt gliedert sich in zwei thematische Bereiche. Erstens, die Entwicklung von geeigneten Werkzeugen zur Sammlung und Zusammenführung der notwendigen Daten, die Erstellung eines Datenmodells für die nachfolgende Auswertung und die exemplarische Sammlung und Zusammenführung von Daten zur Demonstration.

Zweitens, die Auswahl, die Einrichtung und, wenn nötig, die Entwicklung von Werkzeugen zur Auswertung gesammelter Daten, sowie die exemplarische Auswertung von gesammelten und zusammengeführten Daten.

Beide Bereiche sollten vor dem Hintergrund einer hohen Skalierbarkeit und der Verarbeitung von großen Datenmengen stattfinden.

Als Quellen für Abhängigkeiten zwischen Softwarekomponenten kommen zum Beispiel infrage:

  1. Github https://github.com
  2. GHTorrent https://ghtorrent.org
  3. GH Archive on Google BigQuery https://www.gharchive.org
  4. Libraries.io https://libraries.io
  5. MacOS X Ports Collection https://www.macports.org
  6. Homebrew https://brew.sh

Zur Analyse sollen sinnvolle Szenarien entwickelt und untersucht werden. Ein einfaches Szenario ist die Annahme einer zufälligen Konvertierung von Projekten zu einer Lizenz mit Zivilklausel mit einer angenommenen Wahrscheinlichkeit. Ein anderes beispielhaftes Szenario wäre die zufällige Konvertierung von Entwicklern zu einer derartigen Lizenz, mit einer einfachen Stimmenmehrheit der Entwickler eines Projektes, dieses zu einer besagten Lizenz zu konvertieren.

Ablauf

Zum Softwareprojekt findet am 15. April 2021 um 14 Uhr ct eine Vorbesprechung statt. Außerdem finden Donnerstags zu dieser Zeit während des Semesters Projektbesprechungen statt. Die Abschlußpräsentationen finden am 15 Juli 2021 statt.

Schließen

14 Termine

Regelmäßige Termine der Lehrveranstaltung

Di, 13.04.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 20.04.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 27.04.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 04.05.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 11.05.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 18.05.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 25.05.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 01.06.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 08.06.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 15.06.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 22.06.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 29.06.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 06.07.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Di, 13.07.2021 14:00 - 16:00
Softwareprojekt: Erhebung und Analyse von Softwareabhängigkeiten

Dozenten:
Univ.-Prof. Dr. Volker Roth

Räume:
Virtueller Raum 02

Studienfächer A-Z