Verification of Object-Relational Maps - Mehra, Krishna; Sistla, Prasad; Rajamani, Sriram; Jha, Sumit K. (Proceedings of the 5th IEEE International Conference on Software Engineering and Formal Methods (SEFM), 2007)
Enterprise software systems need to deal with two dominant data models. While object oriented languages (such as Java, C#, C++) are the dominant ways to write business logic, relational databases are the dominant ways to store data. Object-Relational (OR) maps are widely used to mediate between these two data models. We present a system to verify correctness of OR maps. We formulate simple correctness conditions for OR maps, and convert these conditions to validity of formulas in first order logic. We have built a verification tool called ROUNDTRIP that is able to both validate and find errors in OR maps defined in the ESQL language of the Microsoft EDM data model.