Mechanical verification of interactive programs specified by use cases

FormaliSE@ICSE(2015)

引用 7|浏览60
暂无评分
摘要
Interactive programs, like user interfaces, are hard to formally specify and thus to prove correct. Some ideas coming from functional programming languages have been successful to improve the way we write safer programs, compared to traditional imperative languages, but these ideas mostly apply to code fragments without any inputs--outputs. Using the purely functional language Coq, we present a new technique to represent interactive programs and formally verify use cases using the Coq proof engine as a symbolic debugger. To this end we introduce the notion of scenarios, well-typed schema of interactions between an environment and a program. We design and certify a blog system as an illustration. Our approach generalizes unit-testing techniques and outlines a new method for mechanically assisted checking of effectful functional programs.
更多
查看译文
关键词
mechanical verification,interactive programs,use cases,Coq functional language,formal verification,Coq proof engine,symbolic debugger,blog system,unit-testing techniques,mechanical assisted checking,functional programs
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要