Store Mi phone M

advertisement


Store
Devices Microsoft Surface PCs & tablets Xbox Virtual reality Accessories Windows
phone Microsoft Band Software Office Windows Additional software Apps All apps
Windows apps Windows phone apps Games Xbox One games Xbox 360 games PC
games Windows games Windows phone games Entertainment All Entertainment
Movies & TV Music Business & Education Business Store Education Store Developer
Sale Back-to-school essentials Sale Products
Software & services Windows Office Free downloads & security Internet Explorer
Microsoft Edge Skype OneNote OneDrive Microsoft Health MSN Bing Microsoft
Groove Microsoft Movies & TV Devices & Xbox All Microsoft devices Microsoft
Surface All Windows PCs & tablets PC accessories Xbox & games Microsoft Band
Microsoft Lumia All Windows phones Microsoft HoloLens For business Cloud
Platform Microsoft Azure Microsoft Dynamics Windows for business Office for
business Skype for business Surface for business Enterprise solutions Small business
solutions Find a solutions provider Volume Licensing For developers & IT pros
Develop Windows apps Microsoft Azure MSDN TechNet Visual Studio For students
& educators Office for students OneNote in classroom Shop PCs & tablets perfect
for students Microsoft in Education Support
Sign in


Research Research
o Research Home
o Research areas
 Algorithms
 Artificial intelligence and machine learning
 Computer systems and networking
 Computer vision
 Data visualization, analytics, and platform
 Ecology and environment
 Economics
 Graphics and multimedia
 Hardware, devices, and quantum computing
 Human-centered computing
 Mathematics







o
o
o
o
o



Medical, health, and genomics
Natural language processing and speech
Programming languages and software engineering
Search and information retrieval
Security, privacy, and cryptography
Social Sciences
Technology for emerging markets
Products & Downloads
Programs & Events
 Academic Programs
 Events & Conferences
People
Careers
About
 About
 Microsoft Research blog
 Asia Lab
 Cambridge Lab
 India Lab
 New England Lab
 New York City Lab
 Redmond Lab
 Applied Sciences Lab
Research areas
o Algorithms
o Artificial intelligence and machine learning
o Computer systems and networking
o Computer vision
o Data visualization, analytics, and platform
o Ecology and environment
o Economics
o Graphics and multimedia
o Hardware, devices, and quantum computing
o Human-centered computing
o Mathematics
o Medical, health, and genomics
o Natural language processing and speech
o Programming languages and software engineering
o Search and information retrieval
o Security, privacy, and cryptography
o Social Sciences
o Technology for emerging markets
Products & Downloads
Programs & Events
o Academic Programs
o



Events & Conferences
People
Careers
About
o About
o Microsoft Research blog
o Asia Lab
o Cambridge Lab
o India Lab
o New England Lab
o New York City Lab
o Redmond Lab
o Applied Sciences Lab
The Design and Implementation of P2V,
An Architecture for Zero-Overhead Online
Verification of Software Programs
August 1, 2007

Download PDF

BibTex
Authors

Hong Lu

Alessandro Forin
Publication Type
TechReport
Pages
12
Number
MSR-TR-2007-99

Abstract

Related Info
Abstract
The PSL-to-Verilog (P2V) compiler can translate a set of assertions about a block-structured
software program into a hardware design to be executed concurrently with the execution of the
software program. The assertions validate the correctness of the software program without
altering its temporal behavior in any way, a result that has never been previously achieved by
any online model-checking system. The technique and the implementation apply to any general
purpose program and the absence of execution overheads makes the system ideal for the
verification and debugging of real-time systems. The assertions are expressed in the simple
subset of the Property Specification Language PSL, an IEEE standard originally intended for the
behavioral specification of hardware designs. The target execution system is the eMIPS
processor, a dynamically self-extensible processor realized with an FPGA. The system can
concurrently execute and check multiple programs at a time. Assertions are compiled into eMIPS
Extensions, which are loaded by the operating system software into a portion of the FPGA at
program loading time, and discarded once the program terminates. If an assertion is violated the
program receives an exception, otherwise it executes fully unaware of its verifier. The software
program does not need to be modified in any way, it can be compiled separately with full
optimizations and executes with or without the corresponding hardware checker. The P2V
compiler is implemented in Python. It generates code for the implementation of the eMIPS
processor running on the Xilinx ML401 development board. It is currently used to verify
software properties in such areas as testing and debugging, intrusion detection, and the
behavioral verification of concurrent and real-time programs.
Related Info
Related Files
 tr-2007-99.doc
Research Labs
 Microsoft Research Lab - Redmond
Follow Microsoft Research


Follow @MSFTResearch

Share this page



Tweet
Learn

Windows

Office

Skype

Outlook

OneDrive

MSN
Devices

Microsoft Surface

Xbox

PC and laptops

Microsoft Lumia

Microsoft Band

Microsoft HoloLens
Microsoft Store

View account

Order tracking

Retail store locations

Returns

Sales & support
Downloads

Download Center

Windows downloads

Windows 10 Apps

Office Apps

Microsoft Lumia Apps

Internet Explorer
Values

Diversity and inclusion

Accessibility

Environment

Microsoft Philanthropies

Corporate Social Responsibility

Privacy at Microsoft
Company

Careers

About Microsoft

Company news

Investors

Research

Site map

English (United States)

Contact us

Privacy & cookies

Terms of use

Trademarks

About our ads

© 2016 Microsoft
​
Download