一句话:通过实证研究数据库 Web 应用中数据约束的表达、演化与违规处理,并据此开发自动检测工具与 API 增强。
数据库支持的 Web 应用会持久化大量数据,并常包含限制数据长度、取值等属性的约束,这些约束对可靠性和可用性至关重要。本文系统性地研究数据约束在何处表达、涉及哪些内容、演化频率以及违规如何处理。研究发现,开发者难以在 Web 应用的不同组件和版本间保持约束一致并统一检查,从而导致多种问题。基于这些发现,作者开发了检查工具与 API 增强,可自动检测此类不一致和违规问题,进而提升这类应用的质量。
Database-backed web applications manipulate large amounts of persistent data, and such applications often contain constraints that restrict data length, data value, and other data properties. Such constraints are critical in ensuring the reliability and usability of these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how often they evolve, and how their violations are handled. The results show that developers struggle with maintaining consistent data constraints and checking them across different components and versions of their web applications, leading to various problems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and improve the quality of such applications.