Résumé
Nowadays, information systems represent crucial assets in most enterprises, sincethey 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.
la date de réponse | 22 juin 2017 |
---|---|
langue originale | Anglais |
L'institution diplômante |
|
Superviseur | Anthony Cleve (Promoteur), Vincent Englebert (Président), Michele Lanza (Jury), Tom Mens (Jury), Benoît Frénay (Jury) & Wim Vanhoof (Jury) |
mots-clés
- Software Evolution
- Data-Intensive Systems
- Database-program co-evolution
- ORM
Attachement à un institut de recherche reconnus à l'UNAMUR
- NADI