Associate Professor in Computer Science, University of Verona, Italy
I work in the area of software analysis, engineering and development. I am interested and support technology that helps programmers write correct, high quality code, with static guarantees about their run-time behavior. I am passionate about teaching students how to write computer code and I am an active programmer on my spare time.
You can contact me as fausto DOT spoto AT univr DOT it
I hold a PhD in Computer Science from the University of Pisa, Italy. After a few postdoc years in Leeds (UK) and Rennes (France), I'm currently working at the University of Verona, where I teach classes on software development. A list of my publications is available here.
My research efforts are dedicated to the following areas:
Techniques and tools for automatic static analysis of software programs, mainly through abstract interpretation.
Techniques, tools and design patterns for software engineering and development, also for mobile phones.
Languages, techniques and tools for programming secure smart contracts on blockchain.
I'm an active software developer. Most software projects stem from my research activity, but I also enjoy writing code in my spare time.
A Java library for inferring static types of local variables and stack elements in Java bytecode and for reconstructing the stack maps of methods. Meant to be used in conjunction with the BCEL Java bytecode engineering library. You can find source code and more information here.
A software tool for static analysis of Java, Android and CIL applications. I built a start-up company around this tool, that is now independent from me nad has been bought by GrammaTech. Please contact them for any technical or commercial information.
An implementation of nodes of a network (blockchain or IoT) that can be programmed through smart contracts in a subset of Java, in a transparent way. Its support instruments Java bytecode with extra aspects that allow their execution in blockchain. You can find code and information here.