Return to search

Analysis and recommendations for developer learning resources

Developer documentation helps developers learn frameworks and libraries, yet developing and maintaining accurate documentation require considerable effort and resources. Contributors who work on developer documentation need to at least take into account the project's code and the support needs of users. Although related, the documentation, the code, and the support needs evolve and are not always synchronized: for example, new features in the code are not always documented and questions repeatedly asked by users on support channels such as mailing lists may not be addressed by the documentation. Our thesis is that by studying how the relationships between documentation, code, and users' support needs are created and maintained, we can identify documentation improvements and automatically recommend some of these improvements to contributors. In this dissertation, we (1) studied the perspective of documentation contributors by interviewing open source contributors and users, (2) developed a technique that automatically generates the model of documentation, code, and users' support needs, (3) devised a technique that recovers fine-grained traceability links between the learning resources and the code, (4) investigated strategies to infer high-level documentation structures based on the traceability links, and (5) devised a recommendation system that uses the traceability links and the high-level documentation structures to suggest adaptive changes to the documentation when the underlying code evolves. / La documentation pour les développeurs aide ces derniers à apprendre à utiliser des bibliothèques de fonctions et des cadres d'applications. Pourtant, créer et maintenir cette documentation requiert des efforts et des ressources considérables. Les contributeurs qui travaillent sur la documentation pour les développeurs doivent tenir compte de l'évolution du code et des besoins potentiels des utilisateurs de la documentation. Même s'ils sont reliés, la documentation, le code et les besoins des utilisateurs ne sont pas toujours synchronisés: par exemple, les nouvelles fonctionnalités ajoutées au code ne sont pas toujours documentées et la documentation n'apporte pas nécessairement de réponse aux questions posées à répétition sur des forums de discussion. Notre thèse est qu'en étudiant comment les relations entre la documentation, le code, et les besoins des utilisateurs sont crées et maintenues, nous pouvons identifier des possibilités d'améliorations à la documentation et automatiquement recommander certaines de ces améliorations aux contributeurs de documentation. Dans cette dissertation, nous avons (1) étudié la perspective des contributeurs de documentation en interviewant des contributeurs de projets en code source libre, (2) développé une technique qui génère automatique un modèle de la documentation, du code, et des questions des utilisateurs, (3) développé une technique qui recouvre les liens de traçabilité entre les ressources d'apprentissage et le code, (4) examiné des stratégies pour inférer des structures abstraites de documentation à partir des liens de traçabilité et (5) développé un système de recommandation qui utilise les liens de traçabilités et les structures abstraites de documentation pour suggérer des changements adaptatifs quand le code sous-jacent évolue.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.110512
Date January 2012
CreatorsDagenais, Barthélémy
ContributorsMartin Robillard (Supervisor)
PublisherMcGill University
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation
Formatapplication/pdf
CoverageDoctor of Philosophy (School of Computer Science)
RightsAll items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.
RelationElectronically-submitted theses.

Page generated in 0.0028 seconds