Alharbi, Seham Abdulrahman A ORCID: 0000-0002-1436-7992
(2025)
A Methodology for Intentional Specification and User-Centered Documentation of Object-Oriented APIs.
PhD thesis, University of York.
Abstract
The ideal companion to any application programming interface (API) is its documentation, which can take various forms, such as API reference documentation, user guides, and tutorials. One of the essential resources for learning APIs, commonly found in many types of API documentation, is code examples that demonstrate common API usage. However, writing and maintaining effective API usage examples is often a demanding and repetitive process for API developers. This is because API users ideally expect these examples to be simple, standalone, and linear. This PhD research addresses this challenge by providing an approach to assist API developers in producing and maintaining effective API usage examples. The approach also aims to support the development of code examples that align with API users' expectations, thereby promoting API learnability.
Additionally, this research proposes a method to assess coverage of API code examples. The proposed approach provides API developers with a dedicated API description language that enables them to concisely describe intended APIs. This API description is then utilised to report code example coverage both textually and visually.
The evaluation conducted in this research demonstrates that the proposed techniques can reduce the effort required to write and maintain API code examples by minimising repetition in example code and generating linear code. A controlled user study further shows that linear code examples are easier to comprehend and are preferred by API users. The findings also indicate that the proposed code example coverage tool and its accompanying API description language can simplify the process of describing intended APIs for API developers by providing features that facilitate formal and concise API specifications.
Metadata
Supervisors: | Kolovos, Dimitris |
---|---|
Related URLs: | |
Keywords: | Software Engineering; APIs; Code Examples; Software Documentation; Program Comprehension; API Coverage; Software Maintenance; DSLs |
Awarding institution: | University of York |
Academic Units: | The University of York > Computer Science (York) |
Date Deposited: | 02 Oct 2025 14:19 |
Last Modified: | 02 Oct 2025 14:19 |
Open Archives Initiative ID (OAI ID): | oai:etheses.whiterose.ac.uk:37535 |
Download
Examined Thesis (PDF)
Filename: revised_version_Alharbi_207048928.pdf
Description: PhD Thesis
Licence:
This work is licensed under a Creative Commons Attribution NonCommercial NoDerivatives 4.0 International License
Export
Statistics
You do not need to contact us to get a copy of this thesis. Please use the 'Download' link(s) above to get a copy.
You can contact us about this thesis. If you need to make a general enquiry, please see the Contact us page.