Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A methodology for hardware verification based on logic simulation
Journal of the ACM (JACM)
Generation of BDDs from hardware algorithm descriptions
Proceedings of the 1996 IEEE/ACM international conference on Computer-aided design
Development of an optimizing compiler for a Fujitsu fixed-point digital signal processor
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
A formal verification technique for embedded software
ICCD '96 Proceedings of the 1996 International Conference on Computer Design, VLSI in Computers and Processors
Symbolic simulation for correct machine design
DAC '79 Proceedings of the 16th Design Automation Conference
Formal Verification of Combinational Circuit
VLSID '97 Proceedings of the Tenth International Conference on VLSI Design: VLSI in Multimedia Applications
ICCD '97 Proceedings of the 1997 International Conference on Computer Design (ICCD '97)
Automatic formal verification for scheduled VLIW code
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
Predicate Abstraction of ANSI-C Programs Using SAT
Formal Methods in System Design
Cutpoints for formal equivalence verification of embedded software
Proceedings of the 5th ACM international conference on Embedded software
Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Automatic functional verification of memory oriented global source code transformations
HLDVT '03 Proceedings of the Eighth IEEE International Workshop on High-Level Design Validation and Test Workshop
Embedded software verification using symbolic execution and uninterpreted functions
International Journal of Parallel Programming
Static analysis of executables to detect malicious patterns
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
Calysto: scalable and precise extended static checking
Proceedings of the 30th international conference on Software engineering
Efficient symbolic simulation of low level software
Proceedings of the conference on Design, automation and test in Europe
A Scalable Memory Model for Low-Level Code
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
Proceedings of the 46th Annual Design Automation Conference
Formal verification of backward compatibility of microcode
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Data-driven equivalence checking
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
This paper describes a novel formal verification approach for equivalence checking of small, assembly-language routines for digital signal processors (DSP). By combining control-flow analysis, symbolic simulation, automatic decision procedures, and some domain-specific optimizations, we have built an automatic verification tool that compares structurally similar DSP assembly language routines. We tested our tool on code samples taken from a real application program and discovered several previously unknown bugs automatically. Runtime and memory requirements were reasonable on all examples. Our approach should generalize easily for multiple DSP architectures, eventually allowing comparison of code for two different DSPs (e.g., to verify a port from one DSP to another) and handling more complex DSPs (e.g. statically-scheduled, VLIW).