Using data versioning in database application development

Database applications such as enterprise resource planning systems and customer relationship management systems are widely used software systems. Development and testing of database applications is difficult because the program execution depends on the persistent state stored in the database. In this paper we show that how versioning of the persistent data stored in the database can solve some critical problems in the development and testing of database applications can be solved by versioning the data stored in the database. Our solution framework is based on long transaction management, a well-researched branch of database systems. We also present empirical results that show the proposed framework's effectiveness in practice.