A Methodology for Intentional Specification and User-Centered Documentation of Object-Oriented APIs

dc.contributor.advisorKolovos, Dimitris
dc.contributor.authorAlharbi, Seham Abdulrahman
dc.date.accessioned2025-10-06T04:16:38Z
dc.date.issued2025
dc.description.abstractThe 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.
dc.format.extent221
dc.identifier.urihttps://hdl.handle.net/20.500.14154/76546
dc.language.isoen
dc.publisherSaudi Digital Library
dc.subjectSoftware Engineering
dc.subjectAPIs
dc.subjectCode Examples
dc.subjectSoftware Documentation
dc.subjectProgram Comprehension
dc.subjectAPI Coverage
dc.subjectSoftware Maintenance
dc.subjectDSLs
dc.titleA Methodology for Intentional Specification and User-Centered Documentation of Object-Oriented APIs
dc.typeThesis
sdl.degree.departmentComputer Science
sdl.degree.disciplineAutomated Software Engineering
sdl.degree.grantorUniversity of York
sdl.degree.nameDoctor of Philosophy

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
SACM-Dissertation.pdf
Size:
6.1 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.61 KB
Format:
Item-specific license agreed to upon submission
Description:

Copyright owned by the Saudi Digital Library (SDL) © 2026