LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
sav08:verification_as_science [2010/02/22 10:42]
vkuncak
sav08:verification_as_science [2010/02/22 13:03]
vkuncak
Line 1: Line 1:
-====== ​Verification as Science - A View of Automated Software Analysis and Verification (SAV) ======+====== A Methodological ​View ======
  
-In this course we study how to build software analysis ​and verification tools, which automatically answer certain classes of questions about software systems of interest:+In this course we study how to build software analysisverification, and synthesis ​tools, which automatically answer certain classes of questions about software systems of interest:
  
 <draw name=sav08_big_picture>​ <draw name=sav08_big_picture>​
  
-Example questions (with sample links):+Example questions ​in analysis and verification ​(with sample links):
   * [[http://​www.praxis-his.com/​sparkada/​publications_journals.asp|Will the program crash?]]   * [[http://​www.praxis-his.com/​sparkada/​publications_journals.asp|Will the program crash?]]
   * [[http://​www.key-project.org/​|Does it compute the correct result?]]   * [[http://​www.key-project.org/​|Does it compute the correct result?]]
Line 12: Line 12:
   * [[http://​portal.acm.org/​citation.cfm?​id=963948.963960|How much power does it consume?]]   * [[http://​portal.acm.org/​citation.cfm?​id=963948.963960|How much power does it consume?]]
   * [[http://​dx.doi.org/​10.1016/​j.conengprac.2004.04.002|Will it turn off automated cruise control?]] ([[http://​abcnews.go.com/​Blotter/​toyota-recalls-prius-lexus-437000-vehicles/​story?​id=9784512|recall]] and [[http://​abcnews.go.com/​Blotter/​RunawayToyotas|other runaway Toyota stories]])   * [[http://​dx.doi.org/​10.1016/​j.conengprac.2004.04.002|Will it turn off automated cruise control?]] ([[http://​abcnews.go.com/​Blotter/​toyota-recalls-prius-lexus-437000-vehicles/​story?​id=9784512|recall]] and [[http://​abcnews.go.com/​Blotter/​RunawayToyotas|other runaway Toyota stories]])
 +
 +In synthesis: Given a specification,​ find a program that satisfies this specification.
  
 Key steps in building such tools: Key steps in building such tools:
Line 38: Line 40:
 ===== Why Focus on Software ===== ===== Why Focus on Software =====
  
-We focus on software because our examples come from software+We focus on software because our examples come from software ​and it is easier evaluate these techniques on software.
  
 Techniques we describe also apply to hardware and other systems: Techniques we describe also apply to hardware and other systems:
-  ​* hardware systems can be simulated in software +  * hardware systems are often finite state (but still very large), memory in software is practically unbounded (e.g. linked data structures, arbitrary-precision numbers) 
-  ​* hardware systems are often finite state (but still very large), memory in software is practically unbounded (e.g. linked data structures) +  * often we can write (concurrent) software whose behavior mimics hardware; if we can analyze this software, we can also analyze the corresponding hardware 
-  * automated hardware verification is more successful ​than SAV, so there is a lot of space for future research+  * automated hardware verification is more developed ​than automated software verification - a lot of space for future research ​in software ​
   * in embedded systems we need to analyze software, hardware, and the environment (physics, biology); many of our techniques are still useful (even if not sufficient) for such systems   * in embedded systems we need to analyze software, hardware, and the environment (physics, biology); many of our techniques are still useful (even if not sufficient) for such systems