Exploring the correspondence between types of documentation for Application Programming Interfaces
Notice bibliographique
Résumé
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
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction machine sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.
Scores du classifieur distillé par catégorie (deux têtes)
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,008 | 0,124 |
| Méta-épidémiologie (sens strict) | 0,000 | 0,000 |
| Méta-épidémiologie (sens large) | 0,000 | 0,001 |
| Bibliométrie | 0,006 | 0,005 |
| Études des sciences et des technologies | 0,001 | 0,001 |
| Communication savante | 0,003 | 0,004 |
| Science ouverte | 0,001 | 0,002 |
| Intégrité de la recherche | 0,001 | 0,001 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,001 | 0,000 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».