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
Last revision Both sides next revision
sav08:verification_as_science [2010/02/22 10:56]
vkuncak
sav08:verification_as_science [2010/02/22 13:11]
vkuncak
Line 1: Line 1:
-====== ​Verification as Science ​======+====== ​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 36: Line 38:
   * automation means implementing **algorithms** for processing representation of software (e.g. source code) and representation of properties (e.g. formulas expressing desired properties),​ the study of these algorithms leads to questions of **decidability**,​ **computational complexity**,​ and **heuristics** that work on software systems of interest   * automation means implementing **algorithms** for processing representation of software (e.g. source code) and representation of properties (e.g. formulas expressing desired properties),​ the study of these algorithms leads to questions of **decidability**,​ **computational complexity**,​ and **heuristics** that work on software systems of interest
  
-===== Why Focus on Software ===== 
  
-We focus on software because ​our examples come from software and it is easier evaluate these techniques on software.+===== Why Focus on SAV for Software ===== 
 + 
 +We focus on software because software ​systems are the most complex human-made artifacts. 
 +  * and we can also write them ourselves and provide examples
  
 Techniques we describe also apply to hardware and other systems: Techniques we describe also apply to hardware and other systems: