API Usability of the Template Metaprogramming Software Library "SeqAn"

Abstract

1 Einleitung 1.1 Motivation 1.2 Definitionen 1.3 SeqAn 1.4 Methode der Grounded Theory 2 Forschungsstand 2.1 Überblick 2.2 Programmverständnisforschung 2.3 Usability-Evaluation 2.4 API-Usability- Evaluation 2.5 API-Usability-Verbesserung 2.6 Gruppierte Erkenntnisse bezüglich der API-Usability-Forschung 2.7 API-Werkzeuge 3 Forschung 3.1 Übersicht 3.2 Phase1: Behebung grober API-Usability-Probleme 3.3 Phase2: Planung und Durchführung der Datenerhebung 3.4 Phase3: Entwicklung des API Usability Analyzers 3.5 Phase4: Durchführung der GTM-Datenanalyse 3.6 Zusammenfassung der Forschung 4 Ergebnisse 4.1 Theorie: Folgen von SeqAn- Entwurfsentscheidungen 4.2 Zusammenfassung 4.3 API-Usability- Verbesserungsvorschläge 4.4 Verbesserung der API-Usability von SeqAn 4.5 Güte, Validierung und Verallgemeinerbarkeit 5 Fazit 5.1 Ausgangslage 5.2 Zielsetzung 5.3 Methode 5.4 Ergebnisse 5.5 Konklusion 6 Ausblick 6.1 API-Usability 6.2 SeqAn 6.3 Qualitative Datenanalysewerkzeuge mit Unterstützung der GTM 6.4 UI- Entwicklung mittels Websprachen Anhang A API Usability Analyzer B Literaturergänzungen C Rohdaten D Forschungsergebnisse: Heuristische Evaluation E ForschungsdokumenteAusgangslage: Die Usability der bioinformatischen, auf C++-basierenden Softwarebibliothek SeqAn ist wenig ausgeprägt, denn SeqAn wurde mit dem ultimativen Ziel einer hohen Performance entwickelt. Die Grundlage des Entwurfs bilden Templatemetaprogrammierung und generische Programmierung. Obwohl diese Techniken die Usability einer API stark beeinflussen, ist die API-Usability-Forschung diesbezüglich vollkommen erkenntnislos. Zielsetzung: Das Ziel dieser Arbeit besteht darin, die API-Usability von SeqAn zu erforschen, um mit diesem Wissen SeqAns Usability zu verbessern und verallgemeinerbare Erkenntnisse für andere auf Templatemetaprogrammierung basierenden APIs zu gewinnen. Methode: Für die Erforschung der API-Usability von SeqAn wird die empirische, praktisch annahmenlose Grounded Theory Methode nach Strauss und Corbin gemeinsam mit einer neuartigen und den speziellen organisatorischen Rahmenbedingungen gerechten Datenerhebungsmethode eingesetzt. Letztere kombiniert diverse subjektive und eine hochstrukturierte, objektive Datenquelle miteinander. Eigens für diese Arbeit wird das qualitative Datenanalysewerkzeug API Usability Analyzer entwickelt, welches den methodischen Gegebenheiten gerecht wird, indem es eine Reihe von Funktionen bietet, die selbst bei den kommerziellen Lösungen wie ATLAS.ti nicht zu finden sind. Ergebnisse: Diese Arbeit stellt die Ergebnisse der API- Analyse in Form einer Grounded Theory dar, die nachzeichnet, wie fehlende Erkenntnisse zu den verwendeten Programmierparadigmen und mangelndes Verständnis von den SeqAn-Anwendern, die sich in API-Anwender und API- Endanwender unterscheiden lassen, zu der schlechten API-Usability führte. Es werden die gefundenen Usability-Probleme und mit welchen Strategien diese von den Anwendern bewältigt werden, ausführlich vorgestellt. Weiterhin werden Maßnahmen zur Behebung der Usability-Probleme vorgeschlagen. Unter anderem wird die Dokumentation, unter Berücksichtigung von so genannten Sprachentitätstypen, umfassend überarbeitet und die Nutzung von SeqAn durch API-Endanwender ermöglicht. Weitere Beiträge stellen ein umfassender wissenschaftlicher Literaturüberblick zum Thema API-Usability und das bereits erwähnte qualitative Datenanalysewerkzeug dar. Konklusion: Die in dieser Arbeit erarbeiteten und umgesetzten Maßnahmen haben die API-Usability von SeqAn erfolgreich verbessert. Die auf diesem Weg gewonnen Erkenntnisse lassen allgemeine Rückschlüsse auf den Entwurf von auf Templatemetaprogrammierung basierenden Softwarebibliotheken zu. Darüber hinaus eignet sich das eingesetzte Verfahren für die Evaluation anderer APIs. Abschließend werden Empfehlung für den Bau leistungsfähiger, qualitativer Datenanalysewerkzeuge für Forschungsvorhaben vorgestellt, die ebenfalls die Grounded Theory Methode einsetzen.Introduction: The usability of the bioinformatical, C++ based software library SeqAn is sparsely developed, because SeqAn was designed with the ultimate goal of performance in mind. Template metaprogramming and generic programming constitute the foundation of SeqAn’s design. Although these techniques heavily affect an API’s usability, current API usability research provides no corresponding insights. Motivation: This thesis aims at researching SeqAn’s API usability in order to improve it. The second purpose is to gain generalisable insights into template metaprogramming based APIs. Method: The research is carried out using the empirical Grounded Theory Method by Strauss and Corbin, together with a newly developed data collection method that addresses the specific working conditions. The latter combines various subjective with a highly structured, objective data source. Furthermore a qualitative data analysis tool, called API Usability Analyzer, was solely developed for this research. This tool meets the methodological realities by providing a range of functionalities that even commercially available solutions like ATLAS.ti are lacking. Results: This work presents the results of the API analysis in the form of a Grounded Theory that portrays how missing understanding of the used programming paradigms as well as insufficient comprehension of SeqAn’s users and end users led to SeqAn’s poor API usability. Detected API usability problems and the strategies users employed in order to deal with them are thoroughly discussed. Furthermore, measures to address these usability problems are proposed. Among other things, the documentation is improved under consideration of so-called Language Entity Types; also, SeqAn’s usage by API end users is allowed. Other contributions are a comprehensive scientific literature review on the subject of API usability and the above mentioned qualitative data analysis tool. Conclusion: The presented and applied actions have improved SeqAn’s API usability. The gained insights allow for general conclusions on the design of software libraries based on template metaprogramming. In addition, the applied method used for this API’s evaluation is suitable for other APIs. This thesis concludes with recommendations on the creation of powerful qualitative data analysis tools suitable for research projects also using the Grounded Theory Method

    Similar works