Titulo Estágio
RESTful Web Services Robustness Testing
Áreas de especialidade
Engenharia de Software
Sistemas Inteligentes
Local do Estágio
DEI-FCTUC
Enquadramento
RESTful Web Services are now being used in business-critical systems to support application communication in highly demanding environments. In such environments, an application failure might turn into a severe safety incident, might represent severe financial costs, or even reputation costs. The problem of web services robustness (i.e., their behavior in presence of invalid inputs) is quite well-known, but web services approaches have been mostly focusing on SOAP web services, which are nowadays loosing popularity.
Objetivo
The goal of this work is to design a fault-injection tool that is able to assess the robustness of RESTful web services and their platforms, by emulating either common errors (e.g., introduced by platform developers) or by exploring new possible errors. Such errors include unclosed XML tags, wrong data formats, invalid XML type values (e.g., exceeding the maximum value for an integer), non-existent XML tags, invalid JSON objects, invalid HTTP values, among others. The outcome of testing will be automatically analyzed by machine learning algorithms. the service Some of the errors can be quite subtle and may pass unnoticed during testing, and this is why the existence of such tool is of great importance to create more robust systems. In practice, the expected outcome of this internship is:
• A software tool that allows a developer to test a web service platform, when in presence of 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 robustness testing approaches and tools.
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
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
Please contact the advisor for any question or clarification needed.
Orientador
Nuno Laranjeiro, César Teixeira, Jorge Bernardino
cnl@dei.uc.pt 📩