{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,10]],"date-time":"2026-06-10T15:18:44Z","timestamp":1781104724867,"version":"3.54.1"},"reference-count":25,"publisher":"IGI Global Scientific Publishing","issue":"1","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2013,1,1]]},"abstract":"<p>Key and referential constraints are two main integrity constraints in database applications. These constraints can be automatically enforced by the Database Management System with their exception\u2014violation from these constraints\u2014handled by programmers. This paper proposes an approach to relieve the burden of programmers from mechanical coding for handling exceptions of these constraints violation by using program transformation. We first propose an extended abstract syntax tree to include SQL query semantics. Based on it, each code pattern that requires exception handling together with the exception handling code to be inserted is represented as a transformation rule. We provide two alternatives to handle the exceptions: one is to handle the exceptions in conjunction with the built-in enforcement feature in Database Management System; the other is handling them without using the feature provided in Database Management System. Hence, two types of transformation rules are provided accordingly. A tool GEHPHP (Generation of Exception Handling for PHP Systems) has been developed to implement the proposed approach. Experiments have also been conducted to evaluate the applicable of the approach.<\/p>","DOI":"10.4018\/jdm.2013010101","type":"journal-article","created":{"date-parts":[[2013,9,6]],"date-time":"2013-09-06T14:33:07Z","timestamp":1378477987000},"page":"1-19","source":"Crossref","is-referenced-by-count":1,"title":["Automated Insertion of Exception Handling for Key and Referential Constraints"],"prefix":"10.4018","volume":"24","author":[{"given":"Kaiping","family":"Liu","sequence":"first","affiliation":[{"name":"School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Hee Beng Kuan","family":"Tan","sequence":"additional","affiliation":[{"name":"School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xu","family":"Chen","sequence":"additional","affiliation":[{"name":"Institute of Computing Technology, Chinese Academy of Sciences, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"2432","reference":[{"key":"jdm.2013010101-0","unstructured":"Berztiss, A., & Thalheim, B. (2007). Exceptions in information systems."},{"key":"jdm.2013010101-1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2004.1266291"},{"key":"jdm.2013010101-2","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2007.11.003"},{"key":"jdm.2013010101-3","doi-asserted-by":"publisher","DOI":"10.1109\/TKDE.2008.226"},{"key":"jdm.2013010101-4","doi-asserted-by":"crossref","unstructured":"Dasgupta, A., Narasayya, V., & Syamala, M. (2009). A static analysis framework for database applications. In Proceedings of the IEEE 25th International Conference on Data Engineering, 2009 (ICDE'09).","DOI":"10.1109\/ICDE.2009.98"},{"key":"jdm.2013010101-5","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2009.385"},{"key":"jdm.2013010101-6","doi-asserted-by":"crossref","unstructured":"Fu, X., & Qian, K. (2008). SAFELI: SQL injection scanner using symbolic execution. In Proceedings of the 2008 Workshop on Testing, Analysis, and Verification of Web Services and Applications.","DOI":"10.1145\/1390832.1390838"},{"key":"jdm.2013010101-7","doi-asserted-by":"crossref","unstructured":"Huang, Y. W., Yu, F., Hang, C., Tsai, C. H., Lee, D. T., & Kuo, S. Y. (2004). Securing web application code by static analysis and runtime protection. In Proceedings of the 13th International Conference on World Wide Web.","DOI":"10.1145\/988672.988679"},{"key":"jdm.2013010101-8","doi-asserted-by":"crossref","unstructured":"Jovanovic, N., Kruegel, C., & Kirda, E. (2006a). Pixy: A static analysis tool for detecting web application vulnerabilities. In Proceedings of 2006 IEEE Symposium on Security and Privacy.","DOI":"10.1109\/SP.2006.29"},{"key":"jdm.2013010101-9","doi-asserted-by":"crossref","unstructured":"Jovanovic, N., Kruegel, C., & Kirda, E. (2006b). Precise alias analysis for static detection of web application vulnerabilities. In Proceedings of the 2006 Workshop on Programming Languages and Analysis for Security.","DOI":"10.1145\/1134744.1134751"},{"key":"jdm.2013010101-10","doi-asserted-by":"publisher","DOI":"10.4018\/jdm.2004010104"},{"key":"jdm.2013010101-11","doi-asserted-by":"crossref","unstructured":"Liao, C., Quinlan, D., Vuduc, R., & Panas, T. (2010). Effective source-to-source outlining to support whole program empirical optimization. Languages and Compilers for Parallel Computing, 308-322.","DOI":"10.1007\/978-3-642-13374-9_21"},{"key":"jdm.2013010101-12","doi-asserted-by":"crossref","unstructured":"Liu, K., & Tan, H. B. K. (2012, December 4-7). Automated insertion of exception handling for key and referential constraints. In Proceedings of the 2012 19th Asia-Pacific Software Engineering Conference (APSEC).","DOI":"10.1109\/APSEC.2012.17"},{"key":"jdm.2013010101-13","doi-asserted-by":"crossref","unstructured":"Liu, K., Tan, H. B. K., & Chen, X. (2011). Extraction of attribute dependency graph from database applications. In Proceedings of the 2011 18th Asia Pacific Software Engineering Conference (APSEC).","DOI":"10.1109\/APSEC.2011.10"},{"key":"jdm.2013010101-14","doi-asserted-by":"crossref","unstructured":"Liu, K., Tan, H. B. K., Chen, X., Zhang, H., & Padmanabhuni, B. (2011, July 7-9). Automated extraction of data lifecycle support from database applications. In Proceedings of the 23rd International Conference on Software Engineering & Knowledge Engineering (SEKE'2011).","DOI":"10.1109\/APSEC.2011.10"},{"key":"jdm.2013010101-15","doi-asserted-by":"publisher","DOI":"10.4018\/jdm.2006100101"},{"key":"jdm.2013010101-16","doi-asserted-by":"crossref","unstructured":"Martel, M. (2009). Program transformation for numerical precision. In Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation.","DOI":"10.1145\/1480945.1480960"},{"key":"jdm.2013010101-17","doi-asserted-by":"publisher","DOI":"10.1016\/j.dss.2007.06.004"},{"key":"jdm.2013010101-18","unstructured":"Parr, T., et al. (2009). ANTLR parser generator. Online Stand Dezember. phc. (2012). The Open Source PHP Compiler. from http:\/\/www.phpcompiler.org\/"},{"key":"jdm.2013010101-19","doi-asserted-by":"crossref","unstructured":"Parr, T., & Fisher, K. (2011). LL (*): The foundation of the ANTLR parser generator. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation.","DOI":"10.1145\/1993498.1993548"},{"key":"jdm.2013010101-20","volume":"Vol. 72","author":"A.Silberschatz","year":"2002","journal-title":"Database system concepts"},{"key":"jdm.2013010101-21","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2008.08.002"},{"key":"jdm.2013010101-22","doi-asserted-by":"crossref","unstructured":"Wiedermann, B., Ibrahim, A., & Cook, W. R. (2008). Interprocedural query extraction for transparent persistence. In Proceedings of the ACM Sigplan Notices.","DOI":"10.1145\/1449764.1449767"},{"key":"jdm.2013010101-23","unstructured":"Wikipedia. (2012). Extended Backus-CNaur form. Retrieved from http:\/\/en.wikipedia.org\/wiki\/Extended_Backus%E2%80%93Naur_Form"},{"key":"jdm.2013010101-24","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2011.06.044"}],"container-title":["Journal of Database Management"],"original-title":[],"language":"ng","link":[{"URL":"https:\/\/www.igi-global.com\/viewtitle.aspx?TitleId=84066","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,1]],"date-time":"2022-06-01T21:58:43Z","timestamp":1654120723000},"score":1,"resource":{"primary":{"URL":"https:\/\/services.igi-global.com\/resolvedoi\/resolve.aspx?doi=10.4018\/jdm.2013010101"}},"subtitle":[""],"short-title":[],"issued":{"date-parts":[[2013,1,1]]},"references-count":25,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2013,1]]}},"URL":"https:\/\/doi.org\/10.4018\/jdm.2013010101","relation":{},"ISSN":["1063-8016","1533-8010"],"issn-type":[{"value":"1063-8016","type":"print"},{"value":"1533-8010","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,1,1]]}}}