Discussing The Future Role of Documentation in
Discussing The Future Role of Documentation in
In 1973, Hoare made the following statement in his famous hints on programming
language design:
Despite the maturity of this statement, it is our observation that software docu-
mentation is often still considered a burden and merely realized as plain source
code comments or concluded in a post-development fashion [4] as standalone
documents. We believe this results from a love–hate relationship that we as soft-
ware engineers have with software documentation. On the one hand we cherish
well documented software and on the other hand we don’t enjoy creating and
maintaining the documentation of our own projects.
Almost 50 years after Hoare’s statement, software documentation has gone
beyond helping programmers to orient themselves during the programming and
has many facets today. Not only gained it importance with the increasing col-
laboration of highly distributed teams, but it became a structured means that
is more than human-readable text:
– Classic approaches such as Javadoc [11] are legitimate successors of Knuth’s
literate programming [14]. They were instrumental in enhancing comments
by the adoption of structured tags that carry processable metadata of com-
mented source code and the automatic generation of documentation in a
browsable output format (e.g. HTML).
– JML [15, 12] goes beyond Javadoc. In particular, it supports design by con-
tract by allowing pre and post-conditions to be written as annotations.
– Standardized modeling with UML introduced graphical notations to support
documentation and understanding of object-oriented software [17, 7].
– Projects like the OpenAPI initiative [18] support a documentation-first ap-
proach to describe (RESTful) APIs in a human and machine readable format
that allows automatic service discovery.
– Web-based documentations, e.g. [1], have evolved to software products them-
selves, making use of version control software and distinct build processes.
This trend lead to the need for frameworks and libraries to generalise the
creation of documentation, e.g. [2].
– GitHub Copilot [3] generates complete source code from comments, with the
result of blurring the lines between documenting and programming.
We think this evolution (cf. Figure 1) has the potential to overcome our
prejudices against documenting and finally position documentation in the center
of software development. The aim of the track is to review current pragmatics
and discuss the future role of documentation in the context of modern software
engineering.
ISoLA 2022 PWN Track Introduction 3
2 Contributions
In this section we present the contributions of the PWN track in the order of their
presentation at ISoLA in three sessions which, incrementally, consider enhanced
roles of documentation from mere additions to the code, via code/documentation
conglomerates to various forms of executable documentation.
This session addresses the duality between documentation and code. A seamless
interplay of both entities is vital for the success of software projects; in particular
for projects relying on the continuous collaboration of various stakeholders. The
following papers lay the foundation for this track by discussing how abstraction
in form of models can be used to represent software properties and reducing the
need for additional documentation.
in order to reduce the need for such supplementary documentation on the one
hand, and to reduce the need for additional (documentational) languages on the
other hand.
The PWN track closes with a panel discussion regarding the role of documenta-
tion in the context of modern software engineering.
References
16. Madsen, O.L., Møller-Pedersen, B.: Using supplementary properties to reduce the
need for documentation. vol. Proc. ISoLA 2022. Springer International Publishing
(2022), [in this volume]
17. Object Management Group (OMG): Documents associated with Object Constraint
Language (OCL), Version 2.4. https://www.omg.org/spec/UML/2.5.1/ (dec 2017),
[Online; last accessed 08-February-2019]
18. OpenAPI Initiative: OpenAPI specification v3.1.0.
https://spec.openapis.org/oas/latest.html (Febraury 2021),
https://spec.openapis.org/oas/latest.html, Accessed 2022-03-25
19. Smyth, S., Petzold, J., Schürmann, J., Karbus, F., Margaria, T., von Hanxleden,
R., Steffen, B.: Executable documentation: The real power of test-first. vol. Proc.
ISoLA 2022. Springer International Publishing (2022), [in this volume]
20. Stevens, P.: Models as documents, documents as models. vol. Proc. ISoLA 2022.
Springer International Publishing (2022), [in this volume]
21. Tegeler, T., Boßelmann, S., Schürmann, J., Smyth, S., Teumert, S., Steffen, B.: Ex-
ecutable documentation: From documentation languages to purpose-specific lan-
guages. vol. Proc. ISoLA 2022. Springer International Publishing (2022), [in this
volume]