Checking enforcement of integrity constraints in database applications based on code patterns

  • Authors:
  • Hongyu Zhang;Hee Beng Kuan Tan;Lu Zhang;Xi Lin;Xiaoyin Wang;Chun Zhang;Hong Mei

  • Affiliations:
  • Key Laboratory for Information System Security (Tsinghua University), Ministry of Education, Beijing 100084, China and Tsinghua National Laboratory for Information Science and Technology, Beijing ...;Nanyang Technological University, Singapore 639798, Singapore;Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871, China;Key Laboratory for Information System Security (Tsinghua University), Ministry of Education, Beijing 100084, China and Tsinghua National Laboratory for Information Science and Technology, Beijing ...;Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871, China;Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education, Beijing 100871, China

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Integrity constraints (including key, referential and domain constraints) are unique features of database applications. Integrity constraints are crucial for ensuring accuracy and consistency of data in a database. It is important to perform integrity constraint enforcement (ICE) at the application level to reduce the risk of database corruption. We have conducted an empirical analysis of open-source PHP database applications and found that ICE does not receive enough attention in real-world programming practice. We propose an approach for automatic detection of ICE violations at the application level based on identification of code patterns. We define four patterns that characterize the structures of code implementing integrity constraint enforcement. Violations of these patterns indicate the missing of integrity constraint enforcement. Our work contributes to quality improvement of database applications. Our work also demonstrates that it is feasible to effectively identify bugs or problematic code by mining code patterns in a specific domain/application area.