Menu

Home Log in to Edit

Chandan Rupakheti Daqing Hou

Welcome to the home page of the CriticAL (A Critic for APIs and Libraries) project. The objective of this project is to provide a program analysis framework for critiquing API client code in three ways:

  1. Provide explanation for complex interactions of API elements,
  2. Provide recommendation for future use of the API,
  3. Provide criticism for improper use of the API.

To support an API with CriticAL, we need to build a knowledge base of API use rules for the API. The analysis framework associates API use rules to the relevant documentation. More specifically, our analysis is path-and-state-sensitive. The API client code is symbolically executed and the program states are checked against these specified API rules. Users will be presented with the documentation whenever the conditions in the rules are satisfied.

We hypothesize that over time, this process will iteratively guide programmers to evolve a better solution from API. Our initial formative study with a dozen students using the first prototype in a GUI design course indicates that the approach is useful and promising.

A short paper that summarizes our initial progress can be found here.

Team:

  1. Daqing Hou. Chief Scientist, Assistant Professor, Clarkson University
  2. Chandan Raj Rupakheti, Chief Architect, PhD Candidate, Clarkson University
  3. Russell Seidel, Quality Assurance/Technical Writer, Honor Student, Clarkson University

Screenshot thumbnail
Additional advice views
Screenshot thumbnail
Advices shown in code editor
Screenshot thumbnail
All three forms of advices with detailed documentation presented to a user


Discussion

Anonymous
Anonymous

Add attachments
Cancel