Algorithmic Software Verification

290
Следующее
Популярные
Опубликовано 17 августа 2016, 20:47
Software is everywhere, and yet, extremely unreliable. One key to reliability is the design of cost-effective techniques whereby developers can formally specify the essential properties of their code, and, machines can rigorously verify that the properties hold, or demonstrate corner cases where they fail. In this talk, we describe two such techniques. First, a scheme that uses logical predicates and theorem provers to automatically compute safety proofs. Second, an approach that uses random walks to find liveness bugs in distributed systems. We describe the key algorithmic insights underlying these approaches and the resulting tools that have helped verify and find subtle defects in a variety of programs.
автотехномузыкадетское