DocFetch - Towards Generating Software Documentation from Multiple Software Artifacts
By: Akhila Sri Manasa Venigalla, Sridhar Chimalakonda
Potential Business Impact:
Helps make computer program instructions easier to write.
Software Documentation plays a major role in the usage and development of a project. Widespread adoption of open source software projects contributes to larger and faster development of the projects, making it difficult to maintain the associated documentation. Existing automated approaches to generate documentation largely focus on source code. However, information useful for documentation is observed to be scattered across various artifacts that co-evolve with the source code. Leveraging this information across multiple artifacts can reduce the effort involved in maintaining documentation. Hence, we propose DocFetch, to generate different types of documentation from multiple software artifacts. We employ a multi-layer prompt based LLM and generate structured documentation corresponding to different documentation types for the data consolidated in DocMine dataset. We evaluate the performance of DocFetch using a manually curated groundtruth dataset by analysing the artifacts in DocMine. The evaluation yields a highest BLEU-4 score of 43.24% and ROUGE-L score of 0.39 for generation of api-related and file-related information from five documentation sources. The generation of other documentation type related information also reported BLEU-4 scores close to 30% indicating good performance of the approach. Thus,DocFetch can be employed to semi-automatically generate documentation, and helps in comprehending the projects with minimal effort in maintaining the documentation.
Similar Papers
CoDocBench: A Dataset for Code-Documentation Alignment in Software Maintenance
Software Engineering
Helps computers understand code changes and descriptions.
Code2Doc: A Quality-First Curated Dataset for Code Documentation
Software Engineering
Helps computers write better instructions for code.
Automated and Context-Aware Code Documentation Leveraging Advanced LLMs
Software Engineering
Writes helpful notes for computer code automatically.