Linking Documentation and Source Code in a Software Chrestomathy


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. Source code and documentation encode 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.

Proceedings of the 19th Working Conference on Reverse Engineering (WCRE)