Policy-Based Slicing of Hibernate Query Language

This paper introduces a policy-based slicing of Hibernate Query Language (HQL) based on a refined notion of dependence graph. The policies are defined on persistent objects, rather than transient objects, which are stored in an underlying database. We extend the Class Dependence Graph (ClDG) of object-oriented languages to the case of HQL, and we refine it by applying semantics-based Abstract Interpretation framework. This leads to a slicing refinement of HQL programs, producing more precise slices w.r.t. policies and we refine by using semantics equivalence, according to the Abstract Interpretation framework.

[1]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[2]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[3]  Agostino Cortesi,et al.  Abstract program slicing on dependence condition graphs , 2013, Sci. Comput. Program..

[4]  Agostino Cortesi,et al.  Abstract program slicing of database query languages , 2013, SAC '13.

[5]  Damiano Zanardini,et al.  Data dependencies and program slicing: from syntax to abstract semantics , 2008, PEPM '08.

[6]  Luís Soares Barbosa,et al.  Slicing Functional Programs by Calculation , 2005, Beyond Program Slicing.

[7]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[8]  Agostino Cortesi,et al.  Information-Flow Analysis of Hibernate Query Language , 2014, FDSE.

[9]  Robert L. Glass IT Failure Rates--70% or 10-15%? , 2005, IEEE Softw..

[10]  Robert L. Glass A Follow-the-Leader Story with a Strange Ending , 2005, IEEE Softw..

[11]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[12]  Christian Bauer,et al.  Hibernate in action , 2005 .

[13]  Cesare Tinelli,et al.  Leveraging linear and mixed integer programming for SMT , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[14]  Antoine Miné,et al.  The octagon abstract domain , 2001, High. Order Symb. Comput..

[15]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984, SDE 1.

[16]  Lori A. Clarke,et al.  A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance , 1990, IEEE Trans. Software Eng..

[17]  Aniello Cimitile,et al.  Conditioned program slicing , 1998, Inf. Softw. Technol..

[18]  Agostino Cortesi,et al.  Abstract interpretation of database query languages , 2012, Comput. Lang. Syst. Struct..

[19]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[20]  Daniel A. Spielman,et al.  A randomized polynomial-time simplex algorithm for linear programming , 2006, STOC '06.

[21]  Roberto Bagnara,et al.  The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems , 2006, Sci. Comput. Program..

[22]  Patrick Cousot,et al.  A Sound Floating-Point Polyhedra Abstract Domain , 2008, APLAS.

[23]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[24]  Tibor Gyimóthy,et al.  Static Slicing of Logic Programs , 1995, Automated and Algorithmic Debugging.

[25]  Jianhua Shao,et al.  Program slicing in the presence of database state , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[26]  Nimrod Megiddo,et al.  Linear Programming in Linear Time When the Dimension Is Fixed , 1984, JACM.