paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Verification of ORM-based controllers by summary inference

基于摘要推断的 ORM 控制器验证
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 2/10 · 该论文属于程序验证与抽象解释,但研究对象是 ORM 控制器和关系代数摘要,未涉及用户核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析。虽然形式化验证主题与 AI→PL 方向有领域重叠,但缺少 LLM/Agent 作为工具或对象的关键要素,因此匹配度较低。引用 2 inbox
Geetam Chawla, Navneet Aman, Raghavan Komondoor, Ashish Bokil, Nilesh Kharat
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:为 ORM 控制器推断关系代数摘要,并借助现成关系代数求解器验证数据库应用性质。

数据库访问应用常通过 ORM 框架操作持久化对象,直接分析其代码以验证性质较为困难。本文提出一种面向 ORM 控制器的新方法:不直接检查 ORM 代码,而是为每个控制器推断其行为的通用关系代数摘要;随后将摘要交给现成的关系代数求解器,以验证开发者给出的性质或规约。摘要还可辅助程序理解并支持其他应用。作者在基于 Spring 的 MVC 应用中实现了原型工具,并进行了初步评估。实验表明该方法效率较高,在人工受试者给出的一组性质检查中取得了良好结果。

问题
如何对使用 ORM 访问数据库的应用(尤其是控制器)进行性质验证,避免直接分析复杂 ORM 代码。
方法
为每个控制器推断关系代数摘要,再交给现成的关系代数求解器检查性质;原型针对 Spring MVC 应用实现。
评估
实现原型工具,并在人工受试者给出的性质集上进行初步评估,显示效率较高且检查结果良好。
原文摘要(Abstract)

In this work we describe a novel approach for modeling, analysis and verification of database-accessing applications that use the ORM (Object Relational Mapping) paradigm. Rather than directly analyze ORM code to check specific properties, our approach infers a general-purpose relational algebra summary of each controller in the application. This summary can then be fed into any off-the-shelf relational algebra solver to check for properties or specifications given by a developer. The summaries can also aid program understanding, and may have other applications. We have implemented our approach as a prototype tool that works for 'Spring' based MVC applications. A preliminary evaluation reveals that the approach is efficient, and gives good results while checking a set of properties given by human subjects.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{ChawlaAKBK22,
  title = {Verification of ORM-based controllers by summary inference},
  author = {Geetam Chawla and Navneet Aman and Raghavan Komondoor and Ashish Bokil and Nilesh Kharat},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510148}
}