一句话:回顾 typestate 验证的经典论文及其抽象域思想,并展示其如何演进为面向代码补全的机器学习与可解释深度模型研究。
本文是 ISSTA 2019 回顾影响奖的特邀报告摘要,回顾 2006 年论文“Effective Typestate Verification in the Presence of Aliasing”。该论文针对真实 Java 程序中的 typestate 属性验证,提出了可扩展的验证框架,并引入结合访问路径、别名信息和 typestate 的抽象域;该抽象域简单、强大且实用,相关技术被广泛用于真实程序的静态分析。报告进一步梳理这些思想多年来的演进,展示其如何发展为面向代码补全的机器学习工作,并讨论机器学习用于编程的近期一般性结果。
The paper ``Effective Typestate Verification in the Presence of Aliasing'' was published in the International Symposium on Software Testing and Analysis (ISSTA) 2006 Proceedings, and has now been selected to receive the ISSTA 2019 Retrospective Impact Paper Award. The paper described a scalable framework for verification of typestate properties in real-world Java programs. The paper introduced several techniques that have been used widely in the static analysis of real-world programs. Specifically, it introduced an abstract domain combining access-paths, aliasing information, and typestate that turned out to be simple, powerful, and useful. We review the original paper and show the evolution of the ideas over the years. We show how some of these ideas have evolved into work on machine learning for code completion, and discuss recent general results in machine learning for programming.
DOI 原文 ·
@inproceedings{paperbot5376,
title = {From typestate verification to interpretable deep models (invited talk abstract)},
author = {Eran Yahav and Stephen J. Fink and Nurit Dor and G. Ramalingam and Emmanuel Geay},
booktitle = {ISSTA},
year = {2019},
doi = {10.1145/3293882.3338992}
}