Visible to the public Structuring Documentation to Support State Search: A Laboratory Experiment about Protocol Programming.

TitleStructuring Documentation to Support State Search: A Laboratory Experiment about Protocol Programming.
Publication TypeConference Proceedings
Year of Publication2014
AuthorsSunshine, Joshua, Herbsleb, James, Aldrich, Jonathan
Conference NameEuropean Conference on Object-Oriented Programming (ECOOP), 2014
Abstract

Application Programming Interfaces (APIs) often define object
protocols. Objects with protocols have a finite number of states and
in each state a different set of method calls is valid. Many researchers
have developed protocol verification tools because protocols are notoriously
difficult to follow correctly. However, recent research suggests that
a major challenge for API protocol programmers is effectively searching
the state space. Verification is an ineffective guide for this kind of
search. In this paper we instead propose Plaiddoc, which is like Javadoc
except it organizes methods by state instead of by class and it includes
explicit state transitions, state-based type specifications, and rich state
relationships. We compare Plaiddoc to a Javadoc control in a betweensubjects
laboratory experiment. We find that Plaiddoc participants complete
state search tasks in significantly less time and with significantly
fewer errors than Javadoc participants.

Citation Keynode-17131