Enforcement of data dependency is a major component in any database application. Functional dependency (FD) is an important data dependency. Due to the nature of software development and maintenance and the limitation of database management system (DBMS) in handling FD enforcement, many functional dependencies are enforced in the transactions that update the database, but not through DBMS. It is very difficult and time consuming to elicit functional dependencies from transactions manually for the reengineering, verification and maintenance of database applications. With the use of program analysis, this paper proposes a novel approach for the automated elicitation of functional dependencies from source codes of transactions that update the database. The approach is based on detecting program path patterns for enforcing FD.
Read full abstract