Managing data constraints in database-backed web applications Junwen Yang Utsav Sethi Cong Yan University of Chicago, USA University of Chicago, USA University of Washington, USA
[email protected] [email protected] [email protected] Alvin Cheung Shan Lu University of California, Berkeley University of Chicago, USA USA
[email protected] [email protected] ABSTRACT Database-backed web applications manipulate large amounts of … <input value=‘title’ pattern=‘.+’ title=‘invalid title’/> 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 Field Type Null Default … these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how title varchar(30) NO NULL … often they evolve, and how their violations are handled. The re- sults show that developers struggle with maintaining consistent … data constraints and checking them across different components validates_length_of : title, maximum: 60, message: ‘title is too long’ Mysql::Error and versions of their web applications, leading to various prob- … lems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and Figure 1: Crossstack data constraints improve the quality of such applications. 1 INTRODUCTION 60 characters)” error; finally, she tried a title a little shorter than60 1.1 Motivation characters, but the web page then crashed with all the filled content Constraints are often associated with data used in software. These lost with some unreadable database error displayed. range from describing the expected length, value, uniqueness, and It turned out that different constraints were specified for the other properties of the stored data.