View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        From Package to Process: dynamic software architecture reconstruction using process mining

        Thumbnail
        View/Open
        600 - Final.pdf (2.465Mb)
        Publication date
        2019
        Author
        Jong, T.T.J. de
        Metadata
        Show full item record
        Summary
        Despite the advances in software architecture, real-world software systems often don’t have an up-to-date architecture available. This reduces the ability of stakeholders to reason about the system in question. For this reason, software architecture reconstruction is as relevant as ever. Different software architecture reconstruction approaches give different perspectives of the system under study (SUS). We choose to develop an approach that uses dynamic inputs to create a hierarchical view that shows the interactions of different elements within the SUS. This hierarchical interaction model (HIM) features collapsible elements, where any higher-level hierarchical element can be collapsed to abstract its underlying structure and behavior. To demonstrate our technique, we created a ProM plugin. With this plugin users can create a HIM from a log and select elements to extract their interactions. A process model can then be mined from the extracted interactions. We test the accuracy of our approach by comparing logged behavior of an example program with its code. We then demonstrate the HIM visualization using our ProM plugin. Next, we instrument the open source bibliography manager JabRef to generate a log of its behavior. We create a HIM visualization from JabRef and use a pre-made architecture mapping to compare the implemented architecture of JabRef to its intended architecture. Finally, we take small samples of the interactions and use them to mine process models from parts of JabRef’s logged behavior. Evaluating our results, we find that our approach creates accurate models without developer effort. Focusing on the dynamics of software, our approach has different pros and cons compared to static approaches. The main difference is caused by relying on the quality of runtime scenarios to capture the system’s architecture, while static approaches rely on analyzing source code. In practice this means that during architecture conformance checking, our approach delivers different architecture violations. While viable on its own, our approach is complementary to a static architecture reconstruction approach.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/32583
        Collections
        • Theses
        Utrecht university logo