{"title":"An integrated data model verifier with property templates","authors":"J. Nijjar, Ivan Bocic, T. Bultan","doi":"10.1109/FormaliSE.2013.6612274","DOIUrl":null,"url":null,"abstract":"Most modern web applications are built using development frameworks based on the Model-View-Controller (MVC) pattern. In MVC-based web applications the data model specifies the types of objects used by the application and the relations among them. Since the data model forms the foundation of such applications, its correctness is crucial. In this paper we present a tool, IDAVER, that 1) automatically extracts a formal data model specification from applications implemented using the Ruby on Rails framework, 2) provides templates for specifying data model properties, 3) automatically translates the verification of properties specified using these templates to satisfiability queries in three different logics, and 4) uses automated decision procedures and theorem provers to identify which properties are satisfied by the data model, and 5) reports counterexample instances for the properties that fail. Our tool achieves scalable automated verification by exploiting the modularity in the MVC pattern. IDAVER does not require formal specifications to be written manually; thus, our tool enables automated verification and increases the usability by combining automated data model extraction with template-based property specification.","PeriodicalId":269932,"journal":{"name":"2013 1st FME Workshop on Formal Methods in Software Engineering (FormaliSE)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 1st FME Workshop on Formal Methods in Software Engineering (FormaliSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FormaliSE.2013.6612274","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
Most modern web applications are built using development frameworks based on the Model-View-Controller (MVC) pattern. In MVC-based web applications the data model specifies the types of objects used by the application and the relations among them. Since the data model forms the foundation of such applications, its correctness is crucial. In this paper we present a tool, IDAVER, that 1) automatically extracts a formal data model specification from applications implemented using the Ruby on Rails framework, 2) provides templates for specifying data model properties, 3) automatically translates the verification of properties specified using these templates to satisfiability queries in three different logics, and 4) uses automated decision procedures and theorem provers to identify which properties are satisfied by the data model, and 5) reports counterexample instances for the properties that fail. Our tool achieves scalable automated verification by exploiting the modularity in the MVC pattern. IDAVER does not require formal specifications to be written manually; thus, our tool enables automated verification and increases the usability by combining automated data model extraction with template-based property specification.
大多数现代web应用程序都是使用基于模型-视图-控制器(MVC)模式的开发框架构建的。在基于mvc的web应用程序中,数据模型指定了应用程序使用的对象类型以及它们之间的关系。由于数据模型构成了此类应用程序的基础,因此其正确性至关重要。在本文中,我们提出了一个工具,IDAVER,它1)自动从使用Ruby on Rails框架实现的应用程序中提取正式的数据模型规范,2)提供用于指定数据模型属性的模板,3)自动将使用这些模板指定的属性的验证转换为三种不同逻辑的可满足性查询,4)使用自动决策过程和定理证明器来识别哪些属性是由数据模型满足的。5)报告失败属性的反例实例。我们的工具通过利用MVC模式中的模块化来实现可伸缩的自动验证。IDAVER不需要手动编写正式的规范;因此,我们的工具支持自动验证,并通过将自动数据模型提取与基于模板的属性规范相结合来提高可用性。