[Back]


Diploma and Master Theses (authored and supervised):

A. Munk:
"Model-based Reverse Engineering of Social Networks";
Supervisor: G. Kappel, M. Wimmer; E188 Institut für Softwaretechnik und Interaktive Systeme, 2011; final examination: 11-30-2011.



English abstract:
Social networks on the Web have seen enormous growth over the past few years, leading to a truly widespread adoption. Every social network is focused on serving specific human needs. Most networkers are present in a number of different networks, which leads to scattered social content. The development of such Web-based platforms is in an early stadium, which result in short feature release cycles. The evolving data schemas and the different ways to access social data are resulting in tedious and error-prone development and maintenance processes of social applications.

In this master thesis, evolution, main characteristics and features of social networks are surveyed. Four platforms, namely Facebook, LinkedIn, Twitter and GooglePlus, are examined. Class diagrams of the data schemas, based on the official documentation, give an overview of these platforms. Each social network has its individualities of accessing the data. A widespread data authorization system is oAuth, available in two versions, which are explained in this master thesis and implemented in a social adaptor for a project called TheHiddenU, to enable an easy access to the social data. To realize this access, the information about the data schema is needed. Because of the incomplete documentation of the API, in this thesis a tool called Json2Ontology is developed for an automatic reverse engineering of the data schema offered by the social networks.

In the first step the tool uses the currently implemented REST Web services. The response of the Web service is transformed into sentences of a domain specific language of TheHiddenU (THUDSL), which represent social user profiles and enable the generation of Java classes for data access. Starting at one or more request URLs, the Json2Ontology tool analyze the Json response and search for navigation possibilities, which are represented as relationships. The goal is to extract as much information about the data structure as possible.

The Json2Ontology tool has been evaluated by comparing the information of the created class diagrams with the generated data schema. The result depends on the authorized user and the amount of personal data. In case of Facebook, a real world test user has been used to find the data produced by real social interactions. The Json2Ontology tool found 79% of the classes and 80% of the attributes. Even more important are the newly found classes (namely 7) and attributes (namely 162). Different settings have been evaluated to find a well balanced configuration for the tool.

German abstract:
Soziale Netzwerke verzeichneten in den letzten Jahren ein enormes Wachstum. Die meisten dieser Netzwerke spezialisieren sich auf eine bestimmte Zielgruppe, was dazu führt, dass die Benutzer in verschiedenen Netzwerken registriert sind und dort, je nach Thema, Informationen über sich preisgeben. Die Entwicklung sozialer Netzwerke befindet sich in einem frühen Stadium und neue Funktionen oder Änderungen am Datenschema werden in kurzen Zyklen durchgeführt. Dieser Umstand und die verschiedenen Methoden um Zugriff auf die Daten zu erhalten, bedeuten große Herausforderungen für Entwickler von sozialen Anwendungen.

In dieser Masterarbeit wird die Evolution von sozialen Netzwerken beschrieben und grundlegende Funktionen und Eigenschaften definiert. Die vier Plattformen Facebook, LinkedIn, Twitter und GooglePlus werden untersucht. Mit Klassendiagrammen, basierend auf der API Dokumentation, soll ein Überblick über die zur Verfügung stehenden Daten geschaffen werden. Jedes soziale Netzwerk hat Eigenheiten, um auf die Daten zugreifen zu können. oAuth, ein weit verbreitetes und von den untersuchten sozialen Netzwerken eingesetztes Autorisierungssystem, wird in dieser Masterarbeit beschrieben. Durch die Implementierung eines Adaptors für das Projekt TheHiddenU, soll der Zugriff auf die sozialen Daten vereinfacht werden. Um dies zu ermöglichen, ist neben der Autorisierung auch die Information über das Datenschema notwendig. Auf Grund der unvollständigen Dokumentierung der API, wird in dieser Masterarbeit ein Ansatz beschrieben, um das Datenschema automatisch zu generieren.

Der erste Schritt in diesem Ansatz ist die beispielhafte Verwendung der von den sozialen Netzwerken eingesetzten REST web services und die Transformation der Json Antwort in eine domänenspezifische Sprache des TheHiddenU Projekts (THUDSL), welche das Profil eines Benutzers von sozialen Netzwerken beschreibt und für die spätere Generierung von Java Klassen für den Zugriff auf soziale Daten verwendet werden kann. Das Transformationssystem beginnt die Analyse bei einem oder mehreren Startpunkten (URLs), analysiert die entsprechenden Antworten und sucht nach Navigationsmöglichkeiten, um Verbindungen herauszufinden und neue Objekte zu erreichen.

Die Evaluierung des Systems wurde mit den untersuchten Plattformen durchgeführt. Mit einem realen Facebook Profil wurde eine Abdeckung von 79% der dokumentierten Klassen und 80% der Attribute erreicht, sowie 7 neue Klassen und 162 Attribute gefunden. Das Ergebnis ist abhängig von der Datenqualität des verwendeten Profils. Unterschiedliche Konfigurationen wurden evaluiert, um eine optimierte Basiskonfiguration des Ansatzes zu finden.


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_206543.pdf