Titulo Estágio
Assessing the Behavior of Service Applications in the Presence of Poor Quality Data
Áreas de especialidade
Engenharia de Software
Local do Estágio
DEI-FCTUC
Enquadramento
Service applications (e.g., web services) frequently make use of a relational database to store and retrieve data and rely on the correctness of this data to deliver service to clients. Despite this, relational databases provide limited support for data integrity restrictions, delegating the responsibility of implementing complex data integrity restrictions (i.e., business logic rules) to the application. As such, bugs present in service applications can easily lead to the storage of incorrect data that, at random instants can cause applications to fail and stop delivering service, which can in turn severely impact clients, other applications, and the reputation or finance of the service provider. In addition, research in data quality indicates that customer data in fact degenerates with time. Despite this, no practical approach has yet been proposed to assess the robustness of a service when in presence of poor data.
Objetivo
The goal of this work is to create an approach and tool that is able to assess how vulnerable a service application can be to incorrect data and will be used to point out solutions, mitigation techniques, and even problem prevention techniques for the development of future applications.
Plano de Trabalhos - Semestre 1
[Some tasks might overlap; M=Month]
T1 (M1 – M3): Knowledge transfer and state of the art literature review on application robustness. Expansion and refinement of an existent preliminary fault-model. This fault model currently contains faults for a single data type, and will be used later on, as basis for the experiments.
T2 (M3 – M4): State of the practice review on practical (programming) fault-injection and wrapping techniques. Design of a preliminary Application Programming Interface, based on the fault model. Implementation of a proof-of-concept prototype over a selected database driver (with partial use of the API created).
T3 (M5): Writing the intermediate report.
Plano de Trabalhos - Semestre 2
[Some tasks might overlap; M=Month]
T4 (M6 – M7): Implementation of a fault-injection tool that is able to emulate erroneous data (according to the fault model defined in task T1) delivered from a database to a very simple service application. Includes the following sub-tasks:
- Creation of a simple web service with access to a single database table that contains one column per each data type defined in the fault model.
- Refinement of the Application Programming Interface, based on the fault model.
- Creation of a wrapper around the database driver in order to inject the faults at runtime.
- Implementation of all defined faults.
- Definition and execution of tests (functional).
T5 (M8): Application of the prototype to an in-house implementation of TPC-App, a web services performance benchmark.
T6 (M8): Analyze the results and study of the applicability of an existent failure mode scale for services (used with success in previous research). Validation of the overall approach.
T7 T7 (M9): Write a research paper and submission to a top international conference on the Dependability or Services areas (e.g., IEEE/IFIP Dependable Systems and Networks, IEEE Services Computing Conference, International Conference on Service Oriented Computing).
T8 T8 (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 work will be supervised by Prof. Nuno Laranjeiro and Prof. Jorge Bernardino. It 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.
Orientador
Nuno Laranjeiro, Jorge Bernardino
cnl@dei.uc.pt 📩