Logical foundation for static analysis: application to binary static analysis for security

  • Authors:
  • Hassen Saïdi

  • Affiliations:
  • SRI International

  • Venue:
  • ACM SIGAda Ada Letters
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Static analysis has emerged in recent years as an indispensable tool in software verification. Unlike deductive approaches to program verification, static analysis can only prove simple properties. Moreover, the myriad of static analysis tools employ specific techniques that target specific properties of specific programs. Static analysis holds the promise of complete automation, scalability, and handling larger classes of properties and larger classes of systems, but a significant gap exists between such a goal and current static analysis tools. We argue that a logical foundation for static analysis allows the construction of more powerful static analysis tools that are provably correct, extensible, and interoperable, and can guarantee more complex properties of complex systems. We address these challenges by proposing a tool-bus architecture that allows the combination of several static analysis tools and methods. The combination is achieved at the logical level using decision procedures that implement combination of theories. We discuss the application of such ideas to binary program analysis in the context of intrusion detection and malware analysis.