Goanna: Syntactic Software Model Checking
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Automatic Bug Detection in Microcontroller Software by Static Program Analysis
SOFSEM '09 Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer Science
Modular Checking with Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
An Abstract Specification Language for Static Program Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Incremental False Path Elimination for Static Software Analysis
ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
Model checking of software for microcontrollers
ACM Transactions on Embedded Computing Systems (TECS)
Fade to Grey: Tuning Static Program Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Software metrics in static program analysis
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Model checking dataflow for malicious input
WESS '11 Proceedings of the Workshop on Embedded Systems Security
Counterexample guided path reduction for static program analysis
Concurrency, Compositionality, and Correctness
Formal verification of code motion techniques using data-flow-driven equivalence checking
ACM Transactions on Design Automation of Electronic Systems (TODAES) - Special section on verification challenges in the concurrent world
High Performance Static Analysis for Industry
Electronic Notes in Theoretical Computer Science (ENTCS)
SMT-based false positive elimination in static program analysis
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Software has been under scrutiny by the verification community from various angles in the recent past. There are two major algorithmic approaches to ensure the correctness of and to eliminate bugs from such systems: software model checking and static analysis. Those approaches are typically complementary. In this paper we use a model checking approach to solve static analysis problems. This not only avoids the scalability and abstraction issues typically associated with model checking, it allows for specifying new properties in a concise and elegant way, scales well to large code bases, and the built-in optimizations of modern model checkers enable scalability also in terms of numbers of properties to be checked. In particular, we present Goanna, the first C/C++ static source code analyzer using the off-the-shelfmodel checker NuSMV, and we demonstrate Goanna's suitability for developer machines by evaluating its run-time performance, memory consumption and scalability using the source code of OpenSSL as a test bed.