Litcius/Paper detail

Static analysis for dummies: experiencing LiSA

Pietro Ferrara, Luca Negrini, Vincenzo Arceri, Agostino Cortesi

202130 citationsDOIOpen Access PDF

Abstract

Semantics-based static analysis requires a significant theoretical background before being able to design and implement a new analysis. Unfortunately, the development of even a toy static analyzer from scratch requires to implement an infrastructure (parser, control flow graphs representation, fixpoint algorithms, etc.) that is too demanding for bachelor and master students in computer science. This approach difficulty can condition the acquisition of skills on software verification which are of major importance for the design of secure systems. In this paper, we show how LiSA (Library for Static Analysis) can play a role in that respect. LiSA implements the basic infrastructure that allows a non-expert user to develop even simple analyses (e.g., dataflow and numerical non-relational domains) focusing only on the design of the appropriate representation of the property of interest and of the sound approximation of the program statements.

Topics & Concepts

DataflowComputer scienceRepresentation (politics)Static analysisParsingSemantics (computer science)Programming languageProperty (philosophy)Static program analysisSimple (philosophy)Program analysisData-flow analysisSoftwareTheoretical computer scienceSoftware engineeringData flow diagramSoftware developmentEpistemologyDatabasePhilosophyLawPoliticsPolitical scienceSecurity and Verification in ComputingAdvanced Malware Detection TechniquesSoftware Testing and Debugging Techniques