The Computer Journal
A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
Lessons from the design of the Eiffel libraries
Communications of the ACM
INFO: a simple document annotation facility
SIGDOC '91 Proceedings of the 9th annual international conference on Systems documentation
A hypertext system for literate C++ programming
Journal of Object-Oriented Programming
Structural and cognitive problems in providing version control for hypertext
ECHT '92 Proceedings of the ACM conference on Hypertext
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Towards literate tools for novice programmers
Proceedings of the 2nd Australasian conference on Computer science education
API documentation from source code comments: a case study of Javadoc
SIGDOC '99 Proceedings of the 17th annual international conference on Computer documentation
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Elucidative programming in Java
IPCC/SIGDOC '00 Proceedings of IEEE professional communication society international professional communication conference and Proceedings of the 18th annual ACM international conference on Computer documentation: technology & teamwork
GNU EMACS Manual
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
The relevance of software documentation, tools and technologies: a survey
Proceedings of the 2002 ACM symposium on Document engineering
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Incremental Redocumentation Using the Web
IEEE Software
Nordic Journal of Computing
Documentation threads - presentation of fragmented documentation
Nordic Journal of Computing
Evolution Support by Homogeneously Documenting Patterns, Aspects and Traces
CSMR '02 Proceedings of the 6th European Conference on Software Maintenance and Reengineering
Nordic Journal of Computing
Theme-Based Literate Programming
APSEC '02 Proceedings of the Ninth Asia-Pacific Software Engineering Conference
The State of Documentation Practice within Corrective Maintenance
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Requirements for an Elucidative Programming Environment
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Source Code Files as Structured Documents
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Aspects of Internal Program Documentation " An Elucidative Perspective
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
The Role of Concepts in Program Comprehension
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
The WEB system of structured documentation
The WEB system of structured documentation
Elucidative Programming in open integrated development environments for Java
PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
Hi-index | 0.00 |
The understanding of a program is a key aspect of software development. The understanding is a prerequisite for the initial development efforts. This paper is concerned with the challenge of maintaining the program understanding with the purpose of supporting later phases in the program life time.One approach to maintaining program understanding is to document decisions and rationales behind a program as informal textual explanations--internal documentation. The starting point of this paper is a particular paradigm for program documentation called Elucidative Programming. As the first contribution of this paper, three key documentation issues are identified on the basis of the experience with Elucidative Programming. Documentation motifs represent thematic elements of software, which typically transverse the structure of the source program files. Documentation proximity characterizes the distance between the documentation and the program. Documentation occasions are points in time for capturing and formulating the understanding of the program.During the years a large number of documentation tools have been developed. As the second contribution of the paper, a number of contemporary documentation tools are reviewed. The tools are selected on basis of relevance for the key documentation issues, and relative to the common attention and interest of the particular tool in the documentation communities.As a conclusion of the paper, and as a final contribution, a number of future directions and challenges are outlined.