Filtern
Dokumenttyp
- Masterarbeit (8) (entfernen)
Sprache
- Englisch (8) (entfernen)
Schlagworte
- API analysis (1)
- API-Analyse (1)
- Developer profiling (1)
- Entwickler Profil (1)
- Knowledge Engineering (1)
- MSR (1)
- Software Repositories (1)
- Vegetation distribution (1)
- grassland (1)
- simulation (1)
Institut
- Institut für Informatik (8) (entfernen)
Semantische Daten zusammen mit General-Purpose-Programmiersprachen zu verwenden stellt nicht die einheitlichen Eigenschaften bereit, die man für eine solche Verwendung haben möchte. Die statische Fehlererkennung ist mangelhaft, insbesondere der statischen Typisierung anbetreffend. Basierend auf vorangegangener Arbeit an λ-DL, welches semantische Queries und Konzepte als Datentypen in ein typisiertes λ-Kalkül integriert, bringt dieses Werk dessen Ideen einen Schritt weiter, um es in eine Echtwelt-Programmiersprache zu integrieren. Diese Arbeit untersucht, wie λ-DLs Features erweitert und mit einer existierende Sprache vereinigt werden können, erforscht einen passenden Erweiterungsmechanismus und produziert Semantics4J, eine JastAdd-basierte Java-Sprachintegration für semantische Daten für typsichere OWL-Programmierung, zusammen mit Beispielen für ihre Verwendung.
Diese Arbeit schlägt die Benutzung von MSR (Mining Software Repositories) Techniken zum Identifizieren von Software Entwicklern mit exklusiver Fachkenntnis zu spezifischen APIs und Programmierfachgebieten in Software Repositories vor. Ein versuchsweises Tool zum finden solcher “Islands of Knowledge” in Node.js Projekten wird präsentiert und in einer Fallstudie auf 180 npm packages angewandt. Dabei zeigt sich, dass jedes package im Durchschnitt 2,3 Islands of Knowledge hat, was dadurch erklärbar sein könnte, dass npm packages dazu tendieren nur einen einzelnen Hauptcontributor zu haben. In einer Umfrage werden die Verantwortlichen von 50 packages kontaktiert und nach ihrer Meinung zu den Ergebnissen des Tools gefragt. Zusammen mit deren Antworten berichtet diese Arbeit von den Erfahrungen, die mit dem versuchsweisen Tool gemacht wurden, und wie zukünftige Weiterentwicklungen noch bessere Aussagen über die Verteilung von Programmierfachwissen in Entwicklerteams machen könnten.
Diese Arbeit betrachtet die Online-Aufmerksamkeit gegenüber Forschern und deren Forschungsthemen. Die enthaltenen Studien vergleichen die Aufmerksamkeitsdynamiken gegenüber Gewinnern wichtiger Forschungspreise mit Forschern die keinen Preis erhalten haben. Web-Signale wie Wikipedia Seitenaufrufe, Editierungen von Wikipedia-Artikeln und Google Trends wurden als Proxy für Online-Aufmerksamkeit verwendet. Dabei wurde herausgefunden, dass Wikipedia-Artikel über die Forschungsthemen von Gewinnern zeitnahe zum Artikel über den Gewinner erstellt wurden. Eine mögliche Erklärung hierfür könnte sein, dass die Forschungsthemen in einer engeren Beziehung zu den Gewinnern stehen. Dies würde die These unterstützen, dass Gewinner ihr Forschungsgebiet eingeführt haben. Zusätzlich wuchs die Online-Aufmerksamkeit gegenüber den Forschungsthemen von Gewinnern nach dem Tag an dem der Artikel über den Forscher erstellt wurde. Daraus kann abgeleitet werden, dass Themen von Gewinnern beliebter sind als die Themen von Forschern die keinen Preis erhalten haben. Des Weiteren wurde gezeigt, dass Gewinner des Nobelpreises vor der Verkündung weniger Online-Aufmerksamkeit erhalten als die Liste von Nominierten basierend auf den Thomson Reuters Citation Laureates. Ferner sank die Beliebtheit gegenüber der Preisträger schneller als gegenüber Forschern die keinen Preis erhalten haben. Zuletzt wurde demonstriert, dass eine Vorhersage der Gewinner basierend auf Aufmerksamkeitsdynamiken gegenüber Forschern problematisch ist.
The publication of open source software aims to support the reuse, the distribution and the general utilization of software. This can only be enabled by the correct usage of open source software licenses. Therefore associations provide a multitude of open source software licenses with different features, of which a developer can choose, to regulate the interaction with his software. Those licenses are the core theme of this thesis.
After an extensive literature research, two general research questions are elaborated in detail. First, a license usage analysis of licenses in the open source sector is applied, to identify current trends and statistics. This includes questions concerning the distribution of licenses, the consistency in their usage, their association over a period of time and their publication.
Afterwards the recommendation of licenses for specific projects is investigated. Therefore, a recommendation logic is presented, which includes several influences on a suitable license choice, to generate an at most applicable recommendation. Besides the exact features of a license of which a user can choose, different methods of ranking the recommendation results are proposed. This is based on the examination of the current situation of open source licensing and license suggestion. Finally, the logic is evaluated on the exemplary use-case of the 101companies project.
Wir analysieren versionsbasierte Softwareprojekte, um den Entwicklern API- und Domänen-Wissen zuzuordnen. Genauer gesagt analysieren wir die einzelnen Commits in einem Repository in Hinblick auf die API-Nutzung. Auf dieser Grundlage können wir APIs (oder Teile davon) den Entwicklern zuordnen und dadurch auf die API-Erfahrung der Entwickler schließen. Im transitiven Schluss können wir auf Domänen-Erfahrung schließen, da jeder API eine Programmierdomäne zugewiesen wird.
Geographisches Cluster-basiertes Routing ist ein aktueller Ansatz, wenn es um das Entwicklen von effizienten Routingalgorithmen für drahtlose ad-hoc Netzwerke geht. Es gibt bereits eine Anzahl an Algorithmen, die Nachrichten nur auf Basis von Positionsinformationen durch ein drahtloses ad-hoc Netzwerk routen können. Darunter befinden sich sowohl Algorithmen, die auf das klassische Beaconing setzen, als auch Algorithmen, die beaconlos arbeiten (keine Informationen über die Umgebung werden benötigt, außer der eigenen Position und der Position des Ziels). Geographisches Routing mit Auslieferungsgarantie kann auch auf Overlay-Graphen durchgeführt werden. Bisher werden die dafür benötigten Overlay-Graphen nicht reaktiv konstruiert.
In dieser Arbeit wird ein reaktiver Algorithmus, der Beaconless Cluster Based Planarization Algorithmus (BCBP), für die Konstruktion eines planaren Overlay-Graphen vorgestellt, der die benötigte Anzahl an Nachrichten für die Konstruktion eines planaren Overlay-Graphen, und demzufolge auch Cluster-basiertes geographishes Routing, deutlich reduziert. Basierend auf einem Algorithmus für Cluster-basierte Planarisierung, konstruiert er beaconlos einen planaren Overlay-Graphen in einem unit disk graph (UDG). Ein UDG ist ein Modell für ein drahtloses Netzwerk, bei dem alle Teilnehmer den gleichen Senderadius haben.
Die Evaluierung des Algorithmus zeigt, dass er wesentlich effizienter ist als die Baecon-basierte Variante. Ein weiteres Ergebnis dieser Arbeit ist ein weiterer beaconloser Algorithmus (Beaconless LLRAP (BLLRAP)), für\r\nden zwar die Planarität, aber nicht die Konnektivität nachgewiesen werden konnte.
Um unterschiedliche Anforderungen zu erfüllen, werden Softwaresysteme oft in Form einer Menge von Varianten entwickelt. Zwei gebräuchliche Ansätze für eine solche Softwareentwicklung sind das clone-and-owning und die Produktlinienentwicklung. Beide Ansätze haben Vor- und Nachteile. In vorheriger Arbeit mit anderen haben wir eine Idee vorgestellt bei der beide Ansätze verknüpft werden um Varianten, Ähnlichkeiten und Softwareklone zu verwalten. Diese Idee basiert auf einer virtuellen Plattform und Operatoren für Softwareklone. In der vorliegenden Arbeit stellen wir einen Ansatz vor um essentielle Metadaten für die Realisierung eines propagate-Operators zu aggregieren. Dafür haben wir ein System entwickelt um Ähnlichkeiten mit Annotationen zu versehen, wobei die Ähnlichkeiten aus der Historie eines Repositories extrahiert werden. Die Annotationen drücken aus wie eine Ähnlichkeit zukünftig gewartet werden soll. Abhängig vom Annotationstyp kann diese Wartung automatisiert ausgeführt oder sie muss vom Benutzer manuell betrieben werden. In dieser Arbeit beschreiben wir die automatisierte Extraktion von Metadaten und das System zur Annotation von Ähnlichkeiten; wir erklären wie das System in den Arbeitsfluss eines bestehenden Programms zur Versionierungverwaltung (Git) integriert werden kann; und abschließend stellen wir eine Fallstudie vor, die das 101haskell-System benutzt.