Exploring the correspondence between types of documentation for Application Programming Interfaces
Bibliographic record
Abstract
Documentation of software programming languages and their APIs exist in many forms, whether as official reference documentation, user-created blog posts or other textual and visual mediums.Prior research has suggested that developers often switch between different types of documentation while learning a new API, with a tendency to alternate between reference and tutorial-like documentation.Further, documentation creation is an effortintensive process that often leads to repeated information across different documentation types, generating a risk of information inconsistency.This thesis explores the relationship between instructional and API reference documentation of three libraries on the topics: regular expressions, URL connectivity and file input/output in two programming languages, Java and Python.Our investigation discovers that about half the sentences in the instructional documentations studied describe API-related information, such as syntax, behaviour, usage and performance of the API, that is expected to be found in the reference documentation.We also study the extent of information reuse across the documentation types, focusing on sentences in instructional documentation that are exact, manipulated and replaceable matches of those in reference documentation.We elicit four information reuse patterns based on our observations and discover a total of 38 instances of these patterns in the studied instructional documentations.We propose techniques to assist automation of each reuse pattern to reduce documentation creation efforts, inform documentation design and promote information consistency.We assess the impact of automation of these reuse patterns on the current documentation and determine that 15 instances of these patterns will not result in any information loss, the remaining affected with varying levels of modification.This work is a first step towards understanding the nature of information reuse i across different documentation types.Future work can use our observations to improve documentation artifacts and automate the instructional documentation creation process.First and foremost, I am extremely thankful to my supervisors, Prof. Jin Guo and Prof. Martin P. Robillard for their continuous support and guidance.Prof. Guo has been a source of ever-present encouragement since I stepped into research.An inspiration in the academic field and otherwise, I only hope that some day I am able to emulate the mentorship she provided me, to help another hopeful student truly enjoy their work and research like I did.I consider myself fortunate to have had the privilege of working with Prof. Robillard, whose patient guidance and excellent advice has sculpted my academic work and writing.Every meeting with him challenged me to work hard and smart, and so in every step, I saw myself improving and learning.I hope, through this work, I have been able to live up to the expectations of both my wonderful supervisors.I would like to
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.008 | 0.124 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.001 |
| Bibliometrics | 0.006 | 0.005 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.003 | 0.004 |
| Open science | 0.001 | 0.002 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.001 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".