Skip to Main content Skip to Navigation

ARIANE : Automated Re-Documentation to Improve software Architecture uNderstanding and Evolution

Abstract : All along its life-cycle, a software may be subject to numerous changes that may affect its coherence with its original documentation. Moreover, despite the general agreement that up-to-date documentation is a great help to record design decisions all along the software life-cycle, software documentation is often outdated. Architecture models are one of the major documentation pieces. Ensuring coherence between them and other models of the software (including code) during software evolution (co-evolution) is a strong asset to software quality. Additionally, understanding a software architecture is highly valuable in terms of reuse, evolution and maintenance capabilities. For that reason, re-documenting software becomes essential for easing the understanding of software architectures. However architectures are rarely available and many research works aim at automatically recovering software architectures from code. Yet, most of the existing re-documenting approaches do not perform a strict reverse-documenting process to re-document architectures "as they are implemented" and perform re-engineering by clustering code into new components. Thus, this thesis proposes a framework for re-documentating architectures as they have been designed and implemented to provide a support for analyzing architectural decisions. This re-documentation is performed from the analysis of both object-oriented code and project deployment descriptors. The re-documentation process targets the Dedal architecture language which is especially tailored for managing and driving software evolution.Another highly important aspect of software documentation relates to the way concepts are versioned. Indeed, in many approaches and actual version control systems such as Github, files are versioned in an agnostic manner. This way of versioning keeps track of any file history. However, no information can be provided on the nature of the new version, and especially regarding software backward-compatibility with previous versions. This thesis thus proposes a formal way to version software architectures, based on the use of the Dedal architecture description language which provides a set of formal properties. It enables to automatically analyze versions in terms of substitutability, version propagation and proposes an automatic way for incrementing version tags so that their semantics corrrespond to actual evolution impact. By proposing such a formal approach, this thesis intends to prevent software drift and erosion.This thesis also proposes an empirical study based on both re-documenting and versioning processes on numerous versions on an enterprise project taken from Github.
Document type :
Complete list of metadatas

Cited literature [218 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Thursday, October 15, 2020 - 8:33:07 AM
Last modification on : Saturday, October 17, 2020 - 3:05:11 AM


Version validated by the jury (STAR)


  • HAL Id : tel-02967502, version 1



Alexandre Le Borgne. ARIANE : Automated Re-Documentation to Improve software Architecture uNderstanding and Evolution. Other [cs.OH]. IMT - MINES ALES - IMT - Mines Alès Ecole Mines - Télécom, 2020. English. ⟨NNT : 2020EMAL0001⟩. ⟨tel-02967502⟩



Record views


Files downloads