Properties of data flow frameworks: a unified model
Acta Informatica
Branching time and abstraction in bisimulation semantics
Journal of the ACM (JACM)
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model checking
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
A Linear Local Model Checking Algorithm for CTL
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
State Space Reduction Based on Live Variables Analysis
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Progress on the State Explosion Problem in Model Checking
Informatics - 10 Years Back. 10 Years Ahead.
The Engineering of a Model Checker: The Gnu i-Protocol Case Study Revisited
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Compile-Time Analysis of Object-Oriented Programs
CC '92 Proceedings of the 4th International Conference on Compiler Construction
Static Analysis for State-Space Reductions Preserving Temporal Logics
Formal Methods in System Design
A dead variable analysis for explicit model checking
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Interrupt Verification via Thread Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
[mc]square: A Model Checker for Microcontroller Code
ISOLA '06 Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
WYSINWYX: What You See Is Not What You eXecute
Verified Software: Theories, Tools, Experiments
Inferring Congruence Equations Using SAT
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Direct Support for Model Checking Abstract State Machines by Utilizing Simulation
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
Parallel and Distributed Invariant Checking of Microcontroller Software
Electronic Notes in Theoretical Computer Science (ENTCS)
On-the-fly dynamic dead variable analysis
Proceedings of the 14th international SPIN conference on Model checking software
Compiling c programs into a strongly typed assembly language
ASIAN'07 Proceedings of the 12th Asian computing science conference on Advances in computer science: computer and network security
Delayed nondeterminism in model checking embedded systems assembly code
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
Application of static analyses for state space reduction to microcontroller assembly code
FMICS'07 Proceedings of the 12th international conference on Formal methods for industrial critical systems
Model checking machine code with the GNU debugger
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Loop refinement using octagons and satisfiability
SSV'10 Proceedings of the 5th international conference on Systems software verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Abstract interpretation of microcontroller code: Intervals meet congruences
Science of Computer Programming
Hi-index | 0.00 |
This paper describes the application of two abstraction techniques, namely dead variable reduction and path reduction, to the microcontroller binary code in order to tackle the state-explosion problem in model checking. These abstraction techniques are based on static analyses, which have to cope with the peculiarities of the binary code such as hardware dependencies, interrupts, recursion, and globally accessible memory locations. An interprocedural static analysis framework is presented that handles these peculiarities. Based on this framework, extensions of dead variable reduction and path reduction are detailed. A case study using several microcontroller programs is presented in order to demonstrate the efficiency of the described abstraction techniques.