Defesa de exame de qualificação de João Arthur Brunet, 14/12 15h

postado em 17 de out de 2012 06:14 por Nazareno Ferreira de Andrade
Candidato: João Arthur Brunet Monteiro
Título do trabalho: Erosão arquitetural em perspectiva: um estudo sobre a natureza das violações arquiteturais e sua relevância
Orientador(es): Dalton Serey Jorge C. A. de Figueiredo

Data: 14 de dezembro de 2012
Horário: 15h
Local: Auditório do SPLab

Banca examinadora: Marco Túlio Valente (UFMG), Claudio Sant'Anna (UFBA), Tiago Massoni (UFCG), Jacques Sauvé (UFCG). 
Resumo: Erosão arquitetural é o processo de degradação da estrutura do software à medida em que se dá a sua evolução. Embora alguns trabalhos nessa área tenham apresentado exemplos de desvio entre a arquitetura planejada e a implementação do software em um momento específico do seu ciclo de vida, pouco se sabe a respeito dessa relação sob uma perspectiva evolutiva, isto é, como se dá esse distanciamento à medida em que o software evolui. Além disso, as abordagens propostas para verificação de conformidade apontam que o número de violações arquiteturais é tipicamente alto. No entanto, não há conhecimento a respeito da relevância dessas violações arquiteturais e qual o seu impacto nas ações desempenhadas pela equipe de desenvolvimento. Entender o processo de erosão arquitetural e suas implicações é uma tarefa complexa. Vários tópicos de interesse surgem diante desse desafio. É preciso, por exemplo, quantificar a introdução e resolução de violações arquiteturais ao longo do tempo, bem como identificar a distribuição dessas violações sobre às entidades de design. Aspectos qualitativos também são de interesse na produção de conhecimento sobre erosão arquitetural. Por exemplo, entender os motivos pelos quais os desenvolvedores foram levados a violar uma regra e quão crítica e relevante é aquela transgressão para o processo de desenvolvimento, pode catalizar a tomada de ações que desacelerem a perda de estrutura do sistema e promovam a consciência arquitetural da equipe. O objetivo desta proposta de tese é avançar o conhecimento sobre erosão arquitetural e suas implicações durante o desenvolvimento de sistemas de software. Considerando esse objetivo, além da construção de um mecanismo de detecção de divergências entre arquitetura e implementação, se faz necessária a aplicação desse mecanismo em repositório de sistemas de software e a análise do comportamento de desenvolvedores diante das violações arquiteturais apontadas pela verificação de conformidade. Os resultados parciais alcançados incluem uma abordagem, intitulada Testes de Design, para verificação de conformidade baseada em testes e a avaliação dessa abordagem levando em consideração sua usabilidade e escalabilidade, no que diz respeito à facilidade da escrita de regras arquiteturais e ao tempo de verificação de conformidade, respectivamente. Além disso, conduzimos um estudo em que efetuamos a aplicação do suporte ferramental dessa abordagem nos repositórios de 4 sistemas open source demonstrando quantitativamente, dentre outros aspectos, o fenômeno de erosão arquitetural. Embora esse último trabalho tenha fornecido dados a respeito da quantidade, localização e ciclo de vida das violações arquiteturais, ainda é necessário que se tenha informação qualitativa a respeito da percepção dos desenvolvedores em relação às regras arquiteturais e suas violações. Portanto, como trabalho futuro, pretende-se investigar a relevância das violações arquiteturais apontadas por verificação de conformidade. Para tanto, conduziremos um experimento in vivo e in situ em que aplicaremos a abordagem de Testes de Design em projetos open source sob desenvolvimento a fim de coletar e analisar o feedback dos desenvolvedores e arquitetos a respeito das listas de violações apontadas pela verificação de conformidade, bem como do impacto dessas violações no processo de desenvolvimento.
Comments