You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.
The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.
For the reports in this repository we specifically note that
By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.
If you are in doubt, feel free to contact email@example.com
Technical documentation is essential for software developers to learn and use a technology. The combined documentation for current software technologies represents a massive collection of engineering knowledge, yet the quality of this information is threatened every day by the rapid pace of change of software components and applications.
In this talk, I will first report on how documentation in open source projects is created and maintained based on the results of a qualitative study in which we interviewed core contributors who wrote
developer documentation and developers who read documentation, in addition to studying evolution of 1500 revisions to technical documents.
I will then present novel analysis techniques to partially automate the maintenance of software documentation. Analyzing software documentation requires linking unstructured text with specific
software elements. This task is notoriously difficult due to the inherent ambiguity of unstructured natural language. One of our techniques identifies code-like terms in documents and links these
terms to specific code elements in an API. Building on this work, we developed a second technique that automatically discovers documentation patterns, i.e., coherent sets of code elements that are
documented together. We use this technique to report violations of documentation patterns as the code and the documentation evolves.
The talk will conclude with a discussion of the implications of this work for software engineering and a presentation of further avenues for research on the representation and evolution of technical
Martin Robillard is an Associate Professor of Computer Science at McGill University. His current research focuses on problems related to API usability, information discovery, and knowledge management in software engineering. He recently served as the Program Co-Chair for the 20th ACM
SIGSOFT International Symposium on the Foundations of Software Engineering and on the editorial board of the IEEE Transactions on Software Engineering and is currently on the editorial board of
Empirical Software Engineering. He received his Ph.D. and M.Sc. in Computer Science from the University of British Columbia and a B.Eng. from École Polytechnique de Montréal.