Verification of Object-Relational Maps

Proceedings of the 5th IEEE International Conference on Software Engineering and Formal Methods (SEFM) |

Published by IEEE Computer Society

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.