Titulo Estágio
Extracting, Assessing and Analyzing Reliability of Open Source Software
Área Tecnológica
Engenharia de Software
Local do Estágio
Departamento de Engenharia Informática da Universidade de Coimbra
Enquadramento
Reliability and availability are important quality attributes that have to be engineered in a system in an early phase of software development. In many scenarios it is necessary to assure that systems are highly reliable and provide services when required.
The software architecture design phase is the first stage of development in which it is possible to evaluate if the system meets the quality requirements established by stakeholders. In addition, it is also possible to identify early issues and test different architectural topologies to determine which one is the best alternative. Different software reliability prediction methods have been proposed in the last decades, however, their application to real world case-studies is very limited.
Therefore, the main purpose of this internship is to extract metrics of a real software system. With those metrics is possible to assess the system reliability and perform a thorough analysis to identify issues in the system. This internship results could make a difference in the community and development team of that open source software by identifying bottlenecks, issues and possible solutions.
Objetivo
The main goal of this internship is to extract, assess and analyze the reliability from open source software. The first step consists of extracting a static view of the software architecture (modules, functions, classes, etc.), the operational profile according to a given test suite, and the reliability of each component in the architecture. This information should then be offloaded into the Affidavit tool which performs the necessary reliability modeling and calculations.
The candidate should explore different techniques to extract reliability metrics (e.g., usage profile, system architecture) and apply those metrics to assess and analyze the system reliability. The assessment and analysis procedure will be performed through the use of a state-of-art tool (Affidavit) and different techniques in order to compare their accuracy.
At the end of this thesis, the candidate should have the assessment results of the software reliability and suggestions about improvements of the identified bottlenecks and architecture issues from the analysis procedure. The work concludes with the thesis and a possible research paper writing.
Plano de Trabalhos - Semestre 1
- State of the Art (Sep. & Oct.)
In this phase the candidate will explore the topics under study, such as works on reliability metrics extraction, software architecture, techniques and tools to assess and analyze the software reliability. This culminates with the clear definition of the goals to achieve in this internship.
- Selection of an Open Source Software Artifact (Nov.)
The candidate has to select one piece of software from the open source community that has the required features to be subject of study. During this task, the student has to attest if the selected software is supported by the techniques and tools to extract the required metrics.
- Thesis Proposal Writing (Dec. & Jan.)
The thesis proposal should clear state and define the tasks performed during the first semester. This document also reflects the choices made from the candidate and a task schedule for the following semester.
Plano de Trabalhos - Semestre 2
- Reliability metrics extraction (Mar. & Apr.)
In this task it is necessary to extract different reliability metrics from the real system, such as architecture, number of failures and the operation profile of the system.
- Reliability Assessment and Analysis (May & Jun.)
The candidate should apply the extracted metrics to different reliability prediction techniques and tools to compare their accuracy with the real values.
- Thesis Writing (Jun.)
The candidate should document the work done in the internship , as well as, the problems faced during that period and the justification of the selected solutions.
Condições
The work will be performed at the Department of Informatics Engineering of the University of Coimbra. The candidate will have a place to work in one of the laboratories in the Software and Systems Engineering (SSE) group of CISUC. The candidate will receive the proper documentation and support in all the topics covered in this internship.
This internship is part of the Affidavit project from the Carnegie Mellon | Portugal Program and there may be the possibility of being supported by a grant. In addition, meetings will be held twice a month between the teams from the University of Coimbra and Carnegie Mellon.
Observações
None.
Orientador
Mário Zenha Rela e Raul Barbosa
mzrela@dei.uc.pt 📩