Exploring the Impact of Source Code Linearity on the Programmer's Comprehension of API Code Examples

Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact their comprehensibility and reusability.Objectives: We investi...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings (IEEE International Conference on Program Comprehension. Online) s. 236 - 240
Hlavní autoři: Alharbi, Seham, Kolovos, Dimitris
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: ACM 15.04.2024
Témata:
ISSN:2643-7171
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact their comprehensibility and reusability.Objectives: We investigated whether the (a) linearity and (b) length of the source code in API code examples affect users' performance in terms of correctness and time spent. We also collected subjective ratings.Methods: We conducted an online controlled code comprehension experiment with 61 Java developers. As a case study, we used the API code examples from the Joda-Time Java library. We had participants perform code comprehension and reuse tasks on variants of the example with different lengths and degrees of linearity.Findings: Participants demonstrated faster reaction times when exposed to linear code examples. However, no substantial differences in correctness or subjective ratings were observed.Implications: Our findings suggest that the linear presentation of a source code may enhance initial example understanding and reusability. This, in turn, may provide API developers with some insights into the effective structuring of their API code examples. However, we highlight the need for further investigation. CCS CONCEPTS * Software and its engineering \rightarrow Documentation; Programming by example; * Human-centered computing \rightarrow Empirical studies in HCI.
ISSN:2643-7171
DOI:10.1145/3643916.3644395