AbstractNowadays, information systems represent crucial assets in most enterprises, since they support the majority of their business activities. Those systems are usually large software systems that manipulate a large amount of data, hence the name data-intensive software system (DISS). A DISS is generally composed of a collection of application programs which intensively interact with a database. The goal of the database is to collect all the relevant data about the application domain of the system. A DISS is subject to continuous modification due to changes in the environment in which it operates. DISS evolution is an indispensable process to keep systems adapted to ever-changing business needs and technological platforms. During this process, any change in the business requirements necessitates the synchronized adaptation of the database and the programs. However, database and program source code are generally barely documented which makes evolution a time-consuming and risky process. The communication between the programs and the database can be complex; many systems use dynamic SQL queries, according to which the SQL statements are built at runtime and sent to the database server through specific APIs. Moreover, increasingly popular object-relational mapping technologies allow programmers to communicate with the database by manipulating program objects, instead of writing SQL queries. This dynamicity makes difficult the process of evolution. In addition, heterogeneous systems, i.e., using several technologies to access its database, further complicate the maintenance task and require programmers to master several technologies. Therefore, DISS evolution clearly calls for automated support. The main goal of this thesis is to invent and evaluate novel and efficient automated methods to support the evolution of dynamic and heterogeneous DISS. More particularly, the thesis aims at proposing methodologies, techniques and tools for (a) analyzing and understanding how the database and the application source code have (co-)evolved over time, in order to facilitate future developments; (b)
supporting the adaptation of the application source code under database change.
|Date of Award||22 Jun 2017|
|Supervisor||Anthony Cleve (Supervisor), Vincent Englebert (President), Michele Lanza (Jury), Tom Mens (Jury), Benoît Frénay (Jury) & Wim Vanhoof (Jury)|
- Software Evolution
- Data-Intensive Systems
- Database-program co-evolution
Attachment to an Research Institute in UNAMUR