Tool-Assisted Loop Invariant Development and Analysis
Tool-Assisted Loop Invariant Development and Analysis
复制标题
工具辅助循环不变开发和分析
DOI:
10.1109/cseet.2016.28
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
M. Sitaraman
中科院分区:
文献类型:
--
作者:
Caleb Priester;Yu;M. Sitaraman
Identification of an adequate invariant is valuable for reasoning about the correctness of code involving a loop, informally or formally. Almost every modern system for automated verification demands that programmers annotate their code with assertions, such as invariants to facilitate automation. But many learners struggle to grasp how to arrive at an assertion that remains an invariant and is sufficiently strong to prove subsequent assertions reliant on the outcome of the loop. The objective of this research is to present a method to help understand the difficulties students face in developing suitable loop invariants, and assist them in the process. We describe results from an experimentation in a software engineering classroom where students were charged with developing verified component-based code using a web-based front end for a verifying compiler. We collected data in the background as students attempted to produce verified code with loop invariants in in-class activities and take-home projects. Initial results show what kinds of information we can expect to see and what kinds of feedback might be useful.