Creating and evolving developer documentation: understanding the decisions of open source contributors
@inproceedings{Dagenais2010CreatingAE, title={Creating and evolving developer documentation: understanding the decisions of open source contributors}, author={Barth{\'e}l{\'e}my Dagenais and Martin P. Robillard}, booktitle={FSE '10}, year={2010} }
Developer documentation helps developers learn frameworks and libraries. To better understand how documentation in open source projects is created and maintained, we performed a qualitative study in which we interviewed core contributors who wrote developer documentation and developers who read documentation. In addition, we studied the evolution of 19 documents by analyzing more than 1500 document revisions. We identified the decisions that contributors make, the factors influencing these…
103 Citations
Analysis and Recommendations for Developer Learning Resources
- Computer Science
- 2012
This thesis is that by studying how the relationships between documentation, code, and users’ support needs are created and maintained, it can identify documentation improvements and automatically recommend some of these improvements to contributors.
Using Traceability Links to Recommend Adaptive Changes for Documentation Evolution
- Computer ScienceIEEE Transactions on Software Engineering
- 2014
AdDoc is proposed, a technique that automatically discovers documentation patterns, i.e., coherent sets of code elements that are documented together, and that reports violations of these patterns as the code and the documentation evolves.
Software Documentation Issues Unveiled
- Computer Science2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
- 2019
A large scale empirical study, where 878 documentation-related artifacts stemming from four different sources are mined, analyzed, and categorized, resulting in a detailed taxonomy of documentation issues from which a series of actionable proposals both for researchers and practitioners are inferred.
Extracting Development Tasks to Navigate Software Documentation
- Computer ScienceIEEE Transactions on Software Engineering
- 2015
TaskNavigator is presented, a user interface for search queries that suggests tasks extracted from software documentation in an auto-complete list along with concepts, code elements, and section headers, to help developers navigate documentation.
Documentation practices in scientific software development
- Computer Science, Education2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE)
- 2012
The role of users' community in scientific software documentation is explored and the findings are compared to studies about documentation practices of professional software developers and how production of documentation in scientificSoftware development can be supported.
When Not to Comment: Questions and Tradeoffs with API Documentation for C++ Projects
- Computer Science2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)
- 2018
A set of questions maintainers and tool developers should consider when improving API-level documentation is identified, which may provide only limited value for developers, while requiring effort maintainers don't want to invest.
Application Programming Interface Documentation: What Do Software Developers Want?
- Computer Science
- 2018
The results show that developers initially try to form a global understanding regarding the overall purpose and main features of an API, but then adopt either a concepts-oriented or a code-oriented learning strategy that API documentation both needs to address.
Documentation Reuse: Hot or Not? An Empirical Study
- Computer ScienceICSR
- 2017
This paper performs an empirical study of duplications in JavaDoc documentation on a corpus of seven famous Java APIs and makes a proposal for a simple but efficient automatic reuse mechanism.
An Empirical Study on Evolution of API Documentation
- Computer ScienceFASE
- 2011
Based on the methodology, a quantitative study on API documentation evolution of five widely used real-world libraries is conducted, and the results reveal various valuable findings that allow programmers and library developers to better understandAPI documentation evolution.
Creating a shared understanding of testing culture on a social coding site
- Computer Science2013 35th International Conference on Software Engineering (ICSE)
- 2013
Several strategies that software developers and managers can use to positively influence the testing behavior in their projects are found, however, project owners on GitHub may not be aware of them.
References
SHOWING 1-10 OF 26 REFERENCES
The relevance of software documentation, tools and technologies: a survey
- Computer ScienceDocEng '02
- 2002
This paper highlights the results of a survey of software professionals. One of the goals of this survey was to uncover the perceived relevance (or lack thereof) of software documentation, and the…
Pedagogical framework documentation: how to document object-oriented frameworks. an empirical study
- Computer Science
- 1999
It is found that different documentation styles are better for different situations, depending on what your goals are, and guidelines that can help someone who is trying to document a framework are discovered.
An empirical study of software developers' management of dependencies and changes
- Business, Sociology2008 ACM/IEEE 30th International Conference on Software Engineering
- 2008
The concept of impact management is proposed as an analytical framework to present software developers' strategies to handle the effect of software dependencies and changes in their work and is used to suggest avenues for future research in change impact analysis techniques.
What programmers really want: results of a needs assessment for SDK documentation
- EducationSIGDOC '02
- 2002
This paper steps the reader through a needs assessment of programmers that was conducted by instructional designers to identify what learning support programmers need and want to successfully use a new software development kit (SDK).
Automatically locating framework extension examples
- Computer ScienceSIGSOFT '08/FSE-16
- 2008
This work devised an approach that uses the framework documentation as a template and that finds instances of this template in a code base given lightweight documentation of a framework based on the experience with concern-oriented documentation.
Moving into a new software project landscape
- Computer Science2010 ACM/IEEE 32nd International Conference on Software Engineering
- 2010
It is theorized that there are three primary factors that impact the integration experience of newcomers: early experimentation, internalizing structures and cultures, and progress validation.
What Makes APIs Hard to Learn? Answers from Developers
- Computer ScienceIEEE Software
- 2009
The article focuses on the obstacles to learning an API and concludes that as APIs keep growing larger, developers will need to learn a proportionally smaller fraction of the whole.
Identifying and addressing problems in object-oriented framework reuse
- Computer ScienceEmpirical Software Engineering
- 2006
A long-term empirical investigation into object-oriented framework reuse concludes that, although a combination of pattern language and micro-architecture documentation is useful for framework reuse, the forms of these documentation types require further enhancement to become effective.
Improving API documentation usability with knowledge pushing
- Computer Science2009 IEEE 31st International Conference on Software Engineering
- 2009
This work presents a lab study that demonstrates the directive awareness problem in traditional documentation use and the potential benefits of an Eclipse plug-in named eMoose, which decorates method invocations whose targets have associated directives.
A reuse case perspective on documenting frameworks
- Computer ScienceProceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240)
- 1998
The concept of a reuse case is proposed as offering a perspective of the different approaches to documenting frameworks, and the categories of reuse cases are defined.