Tool-Assisted Loop Invariant Development and Analysis

2016 IEEE 29th International Conference on Software Engineering Education and Training (CSEET)(2016)

引用 7|浏览8
暂无评分
摘要
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.
更多
查看译文
关键词
automation,annotations,components,IDE,objects,experimentation,specification,verifier
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要