Result: Saturn : A scalable framework for error detection using boolean satisfiability

Title:
Saturn : A scalable framework for error detection using boolean satisfiability
Source:
Special issue on POPL 2005ACM transactions on programming languages and systems. 29(3):1-43
Publisher Information:
New York, NY: Association for Computing Machinery, 2007.
Publication Year:
2007
Physical Description:
print, 1 p.1/4
Original Material:
INIST-CNRS
Subject Terms:
Computer science, Informatique, Sciences exactes et technologie, Exact sciences and technology, Sciences appliquees, Applied sciences, Informatique; automatique theorique; systemes, Computer science; control theory; systems, Logiciel, Software, Langages de programmation, Programming languages, Systèmes informatiques et systèmes répartis. Interface utilisateur, Computer systems and distributed systems. User interface, Organisation des mémoires. Traitement des données, Memory organisation. Data processing, Gestion des mémoires et des fichiers (y compris la protection et la sécurité des fichiers), Memory and file management (including protection and security), Analyse programme, Program analysis, Análisis programa, Dimensionnement, Dimensioning, Dimensionamiento, Détection erreur, Error detection, Detección error, Flux donnée, Data flow, Flujo datos, Fuite, Leak, Salida, Gestion mémoire, Storage management, Gestión memoria, Langage programmation, Programming language, Lenguaje programación, Localisation, Localization, Localización, Logique booléenne, Boolean logic, Lógica booleana, Logique propositionnelle, Propositional logic, Lógica proposicional, Modèle donnée, Data models, Modèle écoulement, Flow models, Optimisation programme, Program optimization, Optimización programa, Pointeur, Pointer, Marcador, Satisfaction contrainte, Constraint satisfaction, Satisfaccion restricción, Système Linux, Linux system, Sistema linux, Système UNIX, UNIX system, Sistema UNIX, Traitement flux donnée, Data flow processing, Vérification programme, Program verification, Verificación programa, Algorithms, Boolean satisfiability, Experimentation, Languages, Verification, error detection
Document Type:
Conference Conference Paper
File Description:
text
Language:
English
Author Affiliations:
Stanford University, United States
ISSN:
0164-0925
Rights:
Copyright 2007 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.18930747
Database:
PASCAL Archive

Further Information

This article presents SATURN, a general framework for building precise and scalable static error detection systems. SATURN exploits recent advances in Boolean satisfiability (SAT) solvers and is path sensitive, precise down to the bit level, and models pointers and heap data. Our approach is also highly scalable, which we achieve using two techniques. First, for each program function, several optimizations compress the size of the Boolean formulas that model the control flow and data flow and the heap locations accessed by a function. Second, summaries in the spirit of type signatures are computed for each function, allowing interprocedural analysis without a dramatic increase in the size of the Boolean constraints to be solved. We have experimentally validated our approach by conducting two case studies involving a Linux lock checker and a memory leak checker. Results from the experiments show that our system scales well, parallelizes well, and finds more errors with fewer false positives than previous static error detection systems.