This tool can be used to qualitatively analyze the API of software fragments (especially software libraries and frameworks). It has been implemented to research the API usability of the C++ based software library SeqAn - a library used by bioinformaticists to solve sequence analysis problems.
This qualitative analysis tool is a modular Eclipse RCP based application. It supports the analysis using the Grounded Theory Methodology (GTM) of data captured alongside programming sessions.
APIUA currently supports the following data collected during or with respect to programming sessions:
- interviews
- questionnaires
- changes the user made to his code between two moments in time (diff files)
- broad range of events that occur on instrumented web pages like online documentations (doclog files) - examples: opening, resizing or scrolling on a web page
APIUA is accompagnied by a data collection server based on Java EE. It collects the changes made to file and various actions done on observed web pages. There is also a Python based data collection client that checks for changed user file to transmit to the server.
APIUA strengths are:
- support of the GTM elements "open coding", "axial coding", "memos" and "constant comparison"
- entity detection, e.g. each person's actions on the observed web pages can be matched with the respective user observed during a programming session
- joint visualization of the different types of data, e.g. all data are put on a timeline; actions on the web page are rendered to see what the user actually saw in each moment, ...
- modular architecture that makes APIUA easily extendable
Color Coded Hierarchical Code Structures
Dimension and Property Support
The analyzer is currently pretty much alpha since it has only been tested in the scope of the creator's research.
If you still want to try it out you need to:
- Download Eclipse Java Edition
- Add the following third-party projects to your workspace
- https://github.com/bkahlert/com.bkahlert.nebula
- org.eclipse.nebula.cwt (available on http://www.eclipse.org/nebula/downloads.php)
- org.eclipse.nebula.widgets.cdatetime (available on http://www.eclipse.org/nebula/downloads.php)
- Checkout and add all projects available on https://github.com/bkahlert/api-usability-analyzer to your workspace
- Run the file APIUA.product contained in the project de.fu_berlin.imp.apiua.
This project is part of the BioStore project sponsored by the Federal Ministry of Education and Research, Germany.
- Eclipse Rich Client Platform
- Nebula Widgets for Eclipse
- API Usability Analyzer Server for Java EE
- Python based Data Collection Client
- Research results of the usability analysis of SeqAn's API
The MIT License (MIT)
Copyright (c) 2011-2014 Björn Kahlert, Freie Universität Berlin