Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3344948.3344985acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsaConference Proceedingsconference-collections
research-article

Process-mining based dynamic software architecture reconstruction

Published: 09 September 2019 Publication History

Abstract

Dynamic architecture reconstruction approaches aim to reconstruct the run-time architecture of a software system. Process mining is an emerging field combining process analytics and data science techniques. In this paper, we present an approach that creates interactive architecture visualizations without requiring any knowledge of the source code of the system under study.
The approach is implemented in the tool AJPOLog. with two case studies, we show that this approach creates reliable results with relatively little effort. Though the studies also show that more research is needed to apply process mining techniques in the field of architecture reconstruction.

References

[1]
W. van der Aalst. 2011. Process Mining: Discovery, Conformance and Enhancement of Business Processes. Springer. 352 pages.
[2]
L. Bass, P. Clements, and R. Kazman. 2011. Software Architecture in Practice (3rd ed.). Pearson Education.
[3]
J. Buijs, B. van Dongen, and W. van der Aalst. 2012. A genetic algorithm for discovering process trees. In CEC. IEEE, 1--8.
[4]
G. Canfora, M. Di Penta, and L. Cerulo. 2011. Achievements and challenges in software reverse engineering. Comm. of the ACM 54, 4 (2011), 142.
[5]
B. Cornelissen, A. Zaidman, A. van Deursen, L. Moonen, and R. Koschke. 2009. A systematic survey of program comprehension through dynamic analysis. Trans. on Software Engineering 35, 5 (2009), 684--702.
[6]
S. Ducasse and D. Pollet. 2009. Software architecture reconstruction: A process-oriented taxonomy. Trans. on Software Engineering 35, 4 (2009), 573--591.
[7]
D. Garlan. 2000. Software Architecture: A Roadmap. In ICSE. ACM, 91--101.
[8]
T. de Jong. 2019. From Package to Process: dynamic software architecture reconstruction using process mining. Master's thesis. Utrecht University.
[9]
M. Leemans and W. van der Aalst. 2015. Process mining in software systems: discovering real-life business transactions and process models from distributed systems. In MODELS. IEEE, 44--53. http://ieeexplore.ieee.org/xpls/abs{_}all.jsp?arnumber=7338234
[10]
M. Leemans, W. van der Aalst, and M. van den Brand. 2018. Recursion aware modeling and discovery for hierarchical software event log analysis. In SANE. IEEE, 185--196.
[11]
S. Leemans, D. Fahland, and W. van der Aalst. 2016. Using life cycle information in process discovery. In BPM Workshops.
[12]
M. de Leoni and W. van der Aalst. 2013. Data-aware process mining: discovering decisions in processes using alignments. In SAC. ACM, 1454--1461.
[13]
C. Liu, B. van Dongen, N. Assy, and W. van der Aalst. 2016. Component Behavior Discovery from Software Execution Data. In CIDM. IEEE, 1--8.
[14]
L. Mariani, M. Pezze, and M. Santoro. 2017. GK-Tail+ An Efficient Approach to Learn Software Models. Trans. on Software Engineering 43, 8 (2017), 715--738.
[15]
L. Pruijt. 2015. Instruments to Evaluate and Improve IT Architecture Work. Ph.D. Dissertation. Utrecht University.
[16]
N. Rozanski and E. Woods. 2012. Software Systems Architecture - Working with Stakeholders Using Viewpoints and Perspectives (2nd ed.). Addison-Wesley. 678 pages.
[17]
M. Salah and S. Mancoridis. 2004. A hierarchy of dynamic software views: From object-interactions to feature-interactions. In ICSM. IEEE, 72--81.
[18]
B. Schmerl, J. Aldrich, D. Garlan, R. Kazman, and H. Yan. 2006. Discovering architectures from running systems. Trans. on Software Engineering 32, 7 (2006), 454--466.
[19]
H. Verbeek, J. Buijs, B. van Dongen, and W. van der Aalst. 2011. XES, XESame, and ProM 6. In CAISE, Vol. 72. Springer, 60--75.
[20]
R. Walker, G. Murphy, J. Steinbok, and M. Robillard. 2000. Efficient Mapping of Software System Traces to Architectural Views. In CASCON. IBM Press, 12--21.
[21]
N. Walkinshaw, R. Taylor, and J. Derrick. 2016. Inferring extended finite state machine models from software executions. Empirical Software Engineering 21, 3 (2016), 811--853.
[22]
J. M. van der Werf and E. Kaats. 2015. Discovery of functional architectures from event logs. In PNSE, Vol. 1372. CEUR-WS, 227--243.
[23]
J. M. van der Werf, C. van Schuppen, S. Brinkkemper, S. Jansen, P. Boon, and G. van der Plas. 2017. Architectural intelligence: A framework and application to e-learning. In EMMSAD. 95--102.
[24]
W. E. Wong, Swapna Gokhale, Joseph Horgan, and Kishor Trivedi. 1999. Locating program features using execution slices. In ASSET. IEEE, 194--203.
[25]
H. Yan, D. Garlan, B. Schmerl, J. Aldrich, and R. Kazman. 2004. DiscoTect: a system for discovering architectures from running systems. In ICSE. IEEE, 470--479.

Cited By

View all
  • (2023)Detecting Inconsistencies in Software Architecture Documentation Using Traceability Link Recovery2023 IEEE 20th International Conference on Software Architecture (ICSA)10.1109/ICSA56044.2023.00021(141-152)Online publication date: Mar-2023
  • (2022)Synergies Between Artificial Intelligence and Software Engineering: Evolution and TrendsHandbook on Artificial Intelligence-Empowered Applied Software Engineering10.1007/978-3-031-08202-3_2(11-36)Online publication date: 4-Sep-2022
  • (2021)A Review on the Service Virtualisation and Its Structural PillarsApplied Sciences10.3390/app1105238111:5(2381)Online publication date: 8-Mar-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ECSA '19: Proceedings of the 13th European Conference on Software Architecture - Volume 2
September 2019
286 pages
ISBN:9781450371421
DOI:10.1145/3344948
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. process mining
  2. software architecture reconstruction
  3. software execution data

Qualifiers

  • Research-article

Conference

ECSA
ECSA: European Conference on Software Architecture
September 9 - 13, 2019
Paris, France

Acceptance Rates

ECSA '19 Paper Acceptance Rate 48 of 72 submissions, 67%;
Overall Acceptance Rate 48 of 72 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)32
  • Downloads (Last 6 weeks)4
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Detecting Inconsistencies in Software Architecture Documentation Using Traceability Link Recovery2023 IEEE 20th International Conference on Software Architecture (ICSA)10.1109/ICSA56044.2023.00021(141-152)Online publication date: Mar-2023
  • (2022)Synergies Between Artificial Intelligence and Software Engineering: Evolution and TrendsHandbook on Artificial Intelligence-Empowered Applied Software Engineering10.1007/978-3-031-08202-3_2(11-36)Online publication date: 4-Sep-2022
  • (2021)A Review on the Service Virtualisation and Its Structural PillarsApplied Sciences10.3390/app1105238111:5(2381)Online publication date: 8-Mar-2021

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media