Vincenzo Arceri

Logo

I am an Assistant Professor (non-tenure) in the Department of Mathematical, Physical, and Computer Sciences at the University of Parma, dealing with static analysis of Go language for blockchain applications, relational string analyses, and static analysis for dynamic languages.

Short Bio

I have a Bachelor Degree in Computer Science (July 2014) and a Master Degree in Computer Science and Engineering – Computer Systems Security curriculum – (July 2016), both issued by the University of Verona. I was an UROP Student at the Imperial College London (Summer 2016), under the supervision of Prof. Sergio Maffeis. I joined the University of Verona in October 2016 as PhD student in Computer Science, under the supervision of Prof. Isabella Mastroeni and I got the PhD in May 2020, defending my PhD thesis titled “Taming Strings in Dynamic Languages – An Abstract Interpretation-based Static Analysis Approach”. From September 2019 to September 2021 I was a postdoctoral researcher at the Ca’ Foscari University of Venice in the Software and System Verification research group. Currently, I am an Assistant Professor (non-tenure) in the Department of Mathematical, Physical, and Computer Sciences at the University of Parma, dealing with static analysis of Go language for blockchain applications, relational string analyses, and static analysis for dynamic languages.

My main research interests include static program analysis, string analysis and verification (in particular for dynamic languages), abstract interpretation and, more in general, formal methods for security programs.

Projects

LiSA

LiSA (Library for Static Analysis) eases the creation and implementation of static analyzers based on the Abstract Interpretation theory. LiSA provides an analysis engine that works on a generic and extensible control flow graph representation of the program to analyze. Abstract interpreters in LiSA are built for analyzing such representation, providing a unique analysis infrastructure for all the analyzers that will rely on it.

Building an analyzer upon LiSA boils down to writing a parser for the language that one aims to analyze, translating the source code or the compiled code towards the control flow graph representation of LiSA. Then, simple checks iterating over the results provided by the semantic analyses of LiSA can be easily defined to translate semantic information into warnings that can be of value for the final user.

LiSA is maintained by the Software and System Verification group @ Ca’ Foscari University of Venice, Italy, and it is distributed under the MIT license, and it is available on GitHub.

Publications

2022

[c8] V. Arceri, M.Olliaro, A. Cortesi, P. Ferrara Relational String Abstract Domains, to appear in Proceedings of the 23th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2022, Philadelphia, January 16-19, 2022. [link]

2021

[j4] V. Arceri, M. Olliaro, A. Cortesi, I. Mastroeni Completeness of String Analysis for Dynamic Languages , in Information and Computation, 104791, 2021 [link]
[c7] P. Ferrara, L. Negrini, V. Arceri, A. Cortesi Static Analysis for Dummies: Experiencing LiSA , in Proceedings of 10th ACM SIGPLAN International Workshop on the State of the Art in Program Analysis, SOAP 2021, June 22th, 2021 [link]
[c6] I. Mastroeni, V. Arceri Improving dynamic code analysis by code abstraction , in Proceedings of 9th International Workshop on Verification and Program Transformation, VPT 2021, March 27th and 28th, 2021 [link]
[j3] V. Arceri, I. Mastroeni Analyzing Dynamic Code: A Sound Abstract Interpreter for evil eval, in ACM Transactions on Privacy and Security, 2021, Vol. 24, No. 2. [link]
[c5] L.Negrini, V. Arceri, P. Ferrara, A. Cortesi Twinning Automata and Regular Expressions for String Static Analysis, in Proceedings of the 22nd International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2021, Online, January 17-22, 2021. [link]

2020

[j2] V. Arceri, I. Mastroeni, S. Xu Static Analysis for ECMAScript String Manipulation Programs, in Applied Science, SI: Static Analysis Techniques: Recent Advances and New Horizons, 2020 [link]
[c4] V. Arceri, I. Mastroeni A Sound Abstract Interpreter for Dynamic Code, in Proceedings of the 35th ACM/SIGAPP Symposium On Applied Computing, SAC 2020, Brno, Czech Republic March 30 - April 3, 2020 [link]

2019

[c3] V. Arceri, M. Pasqua, I. Mastroeni An Abstract Domain for Objects in Dynamic Programming languages, in informal Proceedings of the 8th International Workshop on Numerical and Symbolic Abstract Domains, NSAD 2019, Porto, Portugal, October 8, 2019 [link]
[c2] V. Arceri, M. Olliaro, A. Cortesi, I. Mastroeni Completeness of Abstract Domains for String Analysis of JavaScript Programs, in Proceedings of 16th International Colloquium of Theoretical Aspects of Computing, ICTAC 2019, Hammamet, Tunisia, October 31 - November 4, 2019 [link]
[c1] V. Arceri, I. Mastroeni , Static Program Analysis for String Manipulation Languages, in Proceedings of 7th International Workshop on Verification and Program Transformation, VPT@Programming 2019, Genova, Italy, April 2, 2019 [link]

2017

[j1] V. Arceri, S. Maffeis, Abstract Domains for Type Juggling, in Electr. Notes Theor. Comput. Sci., 331, pp. 41-55, 2017. [link]

Ph.D. Thesis

V. Arceri, Taming Strings in Dynamic Languages – An Abstract Interpretation-based Static Analysis Approach, Ph.D. Thesis, 2020. [link]

Talks

2021

June Static Analysis for Dummies: Experiencing LiSA, SOAP@PLDI 2021 (online)

2020

May Taming Strings in Dynamic Languages – An Abstract Interpretation-based Static Analysis Approach, PhD Thesis defence (online)
March A Sound Abstract Interpreter for Dynamic Code, SAC 2020, Brno, Czech Republic (online)

2019

November Completeness of Abstract Domains for String Analysis of JavaScript Programs, ICTAC 2019, Hammamet, Tunisia
April Static Program Analysis for String Manipulation Languages, VPT 2019, Genova, Italy

2016

September Abstract Domains for Type Juggling, NSAD 2016, Edimburgh, Scotland