Linking Documentation and Source Code in a Software Chrestomathy

Status
In proceedings of WCRE 2012

Authors
Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich

Abstract
The software chrestomathy of the 101companies community project demonstrates "many" software languages and software technologies by implementing "many" variants of a human resources management system; each implementation selects from "many" optional features. All implementations are available through a source-code repository and they are documented on a wiki. The documentation includes references to software languages, software technologies, software concepts, and product features, which, by themselves, are also documented and linked on the wiki.

This setup implies the challenges of establishing links between source code and documentation as well as verifying that source code and documentation are in agreement. We describe an approach that addresses these challenges; it relies on a rule- based system which extracts relevant information from source- code artifacts (e.g., information about language and technology usage) and assigns metadata to the artifacts (e.g., methods for validation and fact extraction). The linked source-code repository and wiki as well as various derived information resources are available through the 101ecosystem for the benefit of the reverse engineering community.

Keywords
software chrestomathy; software language; software technology; linguistic architecture; reverse engineering; source-code repository; documentation; traceability; architecture reconstruction; 101companies

Bibtex entry
@inproceedings{meta101,
  author = {Jean-Marie Favre and Ralf L{\"a}mmel and Martin Leinberger
and Thomas Schmorleiz and Andrei Varanovich},
  title     = "{Linking Documentation and Source Code in a Software Chrestomathy}",
  booktitle = "{Proceedings of WCRE 2012}",
  publisher = "IEEE",
  note = "10 pages."
}

Downloads and links