Abstract
Microservice analysis has seen a surge of interest in recent years due to the challenges and rewards inherent in analyzing large distributed systems. Microservices are highly decentralized, providing many benefits, including improved performance, shorter development cycles, and enhanced scalability. However, these benefits come at the cost of hiding knowledge about system operation. Business logic, domain models, and other architectural aspects of microservices are fractured and hidden in the code of individual microservices. To address this challenge, we developed the Relative Static Structure Analyzer (ReSSA), a language-agnostic analysis tool driven by small parsers that extract information from code upon matching user-defined patterns. This paper presents our work in developing the underlying parsers that power ReSSA definitions for three common languages used in microservices, NodeJS, Go, and Python. We detail the process and challenges of parsing the languages into our intermediate format and describe the benchmark systems we will use as testbeds for our parsers.
This material is based upon work supported by the National Science Foundationunder Grant No. 1854049 and a grant from Red Hat Research.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Rajagopalan, S.: pymicro. https://github.com/rshriram/pymicro (2015)
Raycad: raycad/go-microservices: Golangmicroservicesexample, https://github.com/raycad/go-microservices
Tiwari, S.: Microservices in nodejs. https://github.com/ShankyTiwari/Microservicesin-Nodejs (2019)
Walker, A., Laird, I., Cerny, T.: On automatic software architecture reconstruction of microservice applications. In: Kim, H., Kim, K.J., Park, S. (eds.) Information Science and Applications. LNEE, vol. 739, pp. 223–234. Springer, Singapore (2021). https://doi.org/10.1007/978-981-33-6385-4_21
Schiewe, M., Curtis, J., Bushong, V., Cerny, T.: Advancing static code analysis with language-agnostic component identification. IEEE Access 10, 30743–30761 (2022).  https://doi.org/10.1109/ACCESS.2022.3160485
Acknowledgement
This material is based upon work supported by the National Science Foundation under Grant No. 1854049 and a grant from Red Hat Research.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Bushong, V., Coffey, M., Lehman, A., Jaroszewski, E., Cerny, T. (2022). Matching Code Patterns Across Programming Language. In: Han, H., Baker, E. (eds) The Recent Advances in Transdisciplinary Data Science. SDSC 2022. Communications in Computer and Information Science, vol 1725. Springer, Cham. https://doi.org/10.1007/978-3-031-23387-6_13
Download citation
DOI: https://doi.org/10.1007/978-3-031-23387-6_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-23386-9
Online ISBN: 978-3-031-23387-6
eBook Packages: Computer ScienceComputer Science (R0)