Propostas sem aluno atribuído - Janeiro de 2015

DEI - FCTUC
Gerado a 2024-04-19 19:03:45 (Europe/Lisbon).
Voltar

Titulo Estágio

Fault Injection Tool for Object-Relational Mapping (ORM) Frameworks

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

Object-Relational Mapping (ORM) frameworks (e.g., Hibernate, TopLink, OpenJPA) are nowadays a popular solution for implementing persistence in many types of applications. Typically, the developer defines the object classes that fit the domain of his problem and then marks them with annotations that specify the persistence information (e.g., to which column an object field corresponds to, what should be the relationship between two objects, etc.). The problem is that developers many times do mistakes and do not specify the correct annotations for their applications. In addition, there is no practical testing tool that allows us to understand the behavior of applications in presence of such (quite common) errors. When in presence of this type of errors, some applications will fail, others will disclose privileged information, some will show low performance, just to name a few clear problems.

Objetivo

The goal of this work is to design a fault-injection tool that is able to assess an ORM-based application, by emulating the typical errors introduced by developers in this type of applications. Some errors are quite subtle and may pass unnoticed during testing, and this is why the existence of such tool is of utmost importance. The ORM platforms used for testing must follow the JPA specification. In practice, the expected outcome of this internship is:
• A software tool that allows a developer to test the behavior of any given ORM application, when in presence of possible developer-introduced faults.
• A research paper, to be submitted and presented at a top international conference, describing the tool, its underlying mechanisms, and tests results.

Plano de Trabalhos - Semestre 1

[Some tasks might overlap; M=Month]
T1 (M1 – M2): Knowledge transfer and state of the art review on ORM tools and ORM applications.
T2 (M3) Definition of the requirements for the fault-injection tool to be built.
T3 (M3–M4): Design of the preliminary architecture of the tool.
T4 (M4) Implementation of a small proof-of-concept prototype.
T5 (M5): Writing the Intermediate report.

Plano de Trabalhos - Semestre 2

[Some tasks might overlap; M=Month]
T6 (M6): Integration of the intermediate defense comments into the architecture and tool.
T7 (M6–M7) Implementation of the tool and tests.
T8 (M8): Execution of tests and analysis of results.
T9 (M9): Write a research paper and submission to a top international conference on the Dependability or Services areas (IEEE/IFIP Dependable Systems and Networks, IEEE Services Computing Conference, International Conference on Service Oriented Computing, etc.).
T10 (M10): Writing the thesis.

Condições

A scholarship may be available (value to be defined) for at least part of the duration of the internship.
The selected student will be integrated in the Software and Systems Engineering group of CISUC and the work will be carried out in the facilities of the Department of Informatics Engineering at the University of Coimbra (CISUC - Software and Systems Engineering Group), where a work place and necessary computer resources will be provided.

Observações

N/A

Orientador

Nuno Laranjeiro
cnl@dei.uc.pt 📩