Skip to content
This repository has been archived by the owner on Jun 28, 2023. It is now read-only.

bkahlert/api-usability-analyzer

Repository files navigation

API Usability Analyzer

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

Screenshots

Splash Screen Splash Screen

Open Coding Perspective Open Coding Perspective

Axial Coding Perspective Axial Coding Perspective

Open Coding Perspective Color Coded Hierarchical Code Structures

Axial Coding Perspective Dimension and Property Support

Installation

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:

  1. Download Eclipse Java Edition
  2. Add the following third-party projects to your workspace
  3. Checkout and add all projects available on https://github.com/bkahlert/api-usability-analyzer to your workspace
  4. Run the file APIUA.product contained in the project de.fu_berlin.imp.apiua.

Research Project

This project is part of the BioStore project sponsored by the Federal Ministry of Education and Research, Germany.

Further reading

  1. Eclipse Rich Client Platform
  2. Nebula Widgets for Eclipse
  3. API Usability Analyzer Server for Java EE
  4. Python based Data Collection Client
  5. Research results of the usability analysis of SeqAn's API

License

The MIT License (MIT)
Copyright (c) 2011-2014 Björn Kahlert, Freie Universität Berlin

About

API Usability Analyzer — Evaluation tool developed to support my research conducted as part of my doctorate.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages