Luca Negrini
Logo

Luca Negrini

static-analysis  abstract-interpretation  microservices

Sound Static Analysis for Microservices: Utopia? A preliminary experience with LiSA

Authors: Giacomo Zanatta, Pietro Ferrara, Teodors Lisovenko, Luca Negrini, Gianluca Caiazza, Ruffin White
Formal Techniques for Java-like Programs (FTfJP 2024)
Wien, Austria, September 16, 2024
Workshop paper

Abstract

Sound static analysis allows one to overapproximate all possible program executions to infer various properties. However, it requires quite some effort to formalize and prove the soundness of program semantics. Most software applications developed nowadays are distributed systems in which different [micro]services communicate through synchronous and asynchronous mechanisms. These applications are composed of programs developed in many programming languages and rely on many technologies. However, sound static analysis might be particularly promising in distributed architectures, where exhaustively (or even partially) testing such systems is often prohibitive. This paper presents our ongoing work on applying LiSA (Library for Static Analysis) to microservices. So far, our effort has focused on one programming language (Python), a few libraries (ROS2, pika, FastAPI, Django), and the architectural reconstruction of distributed applications. However, it already shows some promising results and general patterns that might be followed to develop such analyses.

Manuscript: PDF
Associated project: LiSA
Conference page: Link
ACM page: Link