Abstract
In this paper, we propose an abstract interpretation framework of Hibernate Query Language (HQL), aiming at automatically and formally verifying enterprise policy specifications on persistent objects which have permanent representation in the underlying database. To this aim, we extend the abstract interpretation approach for object-oriented languages, combined with an abstract semantics of structured query languages.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Observe at program points 13, 14–16, 17–18 that the basic differences between HQL and SQL.
- 2.
Observe that, for the sake of simplicity, we do not consider here the method REFRESH() which synchronize the in-memory objects state with that of the underlying database.
- 3.
The apex \(\sharp \) represents an abstract version of the elements in the abstract domain.
References
Bauer, C., King, G.: Hibernate in Action. Manning Publications Co., Greenwich (2004)
Bauer, C., King, G.: Java Persistence with Hibernate. Manning Publications Co., Greenwhich (2006)
Bouaziz, M., Logozzo, F., Fähndrich, M.: Inference of necessary field conditions with abstract interpretation. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 173–189. Springer, Heidelberg (2012)
Chen, L., Miné, A., Cousot, P.: A sound floating-point polyhedra abstract domain. In: Ramalingam, G. (ed.) APLAS 2008. LNCS, vol. 5356, pp. 3–18. Springer, Heidelberg (2008)
Cortesi, A., Costantini, G., Ferrara, P.: A survey on product operators in abstract interpretation. EPTCS 129, 325–336 (2013)
Cortesi, A., Halder, R.: Abstract interpretation of recursive queries. In: Hota, C., Srimani, P.K. (eds.) ICDCIT 2013. LNCS, vol. 7753, pp. 157–170. Springer, Heidelberg (2013)
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the POPL 1977. pp. 238–252. ACM Press, Los Angeles, CA, USA (1977)
Elliott, J., O’Brien, T., Fowler, R.: Harnessing Hibernate, 1st edn. O’Reilly Media, Sebastopol (2008)
Halder, R., Cortesi, A.: Abstract interpretation of database query languages. Comput. Lang. Syst. & Struct. 38, 123–157 (2012)
Logozzo, F.: Class invariants as abstract interpretation of trace semantics. Comput. Lang. Syst. & Struct. 35, 100–142 (2009)
Logozzo, F.: Practical verification for the working programmer with codecontracts and abstract interpretation. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 19–22. Springer, Heidelberg (2011)
O’Neil, E.J.: Object/relational mapping 2008: hibernate and the entity data model (edm). In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data (SIGMOD 2008). pp. 1351–1356. ACM, New York, USA (2008)
Wiśniewski, P., Stencel, K.: Universal query language for unified state model. Fundam. Inform. 129(1–2), 177–192 (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Jana, A., Halder, R., Cortesi, A. (2015). Verification of Hibernate Query Language by Abstract Interpretation. In: He, X., et al. Intelligence Science and Big Data Engineering. Big Data and Machine Learning Techniques. IScIDE 2015. Lecture Notes in Computer Science(), vol 9243. Springer, Cham. https://doi.org/10.1007/978-3-319-23862-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-23862-3_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-23861-6
Online ISBN: 978-3-319-23862-3
eBook Packages: Computer ScienceComputer Science (R0)