Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorVan Der Werf, J.M.E.M.
dc.contributor.authorJong, T.T.J. de
dc.date.accessioned2019-04-29T17:00:36Z
dc.date.available2019-04-29T17:00:36Z
dc.date.issued2019
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/32583
dc.description.abstractDespite 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.
dc.description.sponsorshipUtrecht University
dc.format.extent2585722
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.titleFrom Package to Process: dynamic software architecture reconstruction using process mining
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordssoftware architecture; dynamic; software architecture reconstruction; process mining; software reverse engineering
dc.subject.courseuuBusiness Informatics


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record