Software (in-)Correctness Analysis
Lecture-2
Ganesh Gopalakrishnan
Summary of Lec-1
Systems ARE getting ultra-complex
Software bugs are a huge drain on the national economy (not to speak about the security consequences which are graver)
Formal methods to analyze software are hugely important for companies (it is widely recognized to be a good source of internships and employments for grad students)
Additional thoughts on projects
What to study first, and what background needed?
Do you agree? Questions? (5-min pause)
Where did this line of thought come from?
History of Temporal Logic (brief)
Birth / rediscovery of BDDs (birth, as canonicity was emph.)
Do you see the ugliness ?
"draw a truth-table for the MSB when adding two 64-bit numbers"
"turn in the assignment in a week" (extension - a year ->...)
Doable?
BDD
Do you see the ugliness ?
"draw a truth-table for the MSB when adding two 64-bit numbers"
"turn in the assignment in a week" (extension - a year ->...)
Doable?
"The ability to see ugliness is the beginning of wisdom"
Where did this line of thought come from?
Connection with decision-trees?
How did BDDs power model-checking?
How did Buchi automata come about? What other model- checkers?
What is a Buchi Automaton? Difference with DFA?
What is a Buchi Automaton? Difference with DFA?
Agree ?
What is a Buchi Automaton? Difference with DFA?
What is a Buchi Automaton?
Difference with DFA?
Guess language of DBA1,2 if I tell you that only those infinite strings exist
that touch an accepting state (double-circle) infinitely
write such strings as (small-string) raised to omega
what is the small string?
Think !!
What is a Buchi Automaton?
Difference with DFA?
Back to Slide 4
turns into
BA1 containedIn BA2
BA1 intersect complement(BA2) is empty
You need practice complementing and intersecting machines
Let's get that practice using ordinary DFA first → next week we will do it for BA
Intermission
This Lecture – after Intermission!
This Lecture's Summary
READINGS for Lec-3
EXPECT THESE this weekend
BE DOING THESE READINGS