Engenharia de Software
Apresentação
Desde a sua criação, em 1975, o Curso de Pós-Graduação em Informática conta com as atividades do grupo de Engenharia de Software desenvolvendo importantes Projetos de P&D, como por exemplo no âmbito do PROTEM-CC e RHAE, envolvendo parcerias e intercâmbios com outros institutos e empresas no país e no exterior. Atualmente, o grupo conta com sete doutores e desenvolve atividades nas seguintes linhas temáticas: Processo de desenvolvimento e gerência de software; Internacionalização de produtos/serviços de software; Desenvolvimento rigoroso de software; Projeto e avaliação de interfaces; e Redes de Petri.
Considerando o atual cenário da indústria brasileira de software, o Governo tem estimulado o surgimento de mecanismos de apoio à promoção comercial do software local e, particularmente, o aumento da investigação e do uso de ferramentas de qualidade e produtividade no desenvolvimento e internacionalização do software e serviços decorrentes. Nesta direção, o grupo vem desenvolvendo ações para implantação, ainda em 2001, de um Centro de Referência em Internacionalização de Software para apoio às empresas, com apoio do MCT/SEPIN. Este centro deverá estender as atividades já desenvolvidas pelo grupo no que se refere ao estudo de interfaces homem-máquina e aplicação de testes de usabilidade - ações fomentadas pelo Laboratório de Interface Homem-Máquina, criado em 1986.
No final dos anos 80, após organização de um curso de "Aplicações da Teoria de Redes de Petri" - pelo Dr. Gernot Richter, do GMD/Bonn, alguns membros do grupo, contando com o apoio do Centro de Ciências e Tecnologia da UFPB, iniciam uma forte interação com diferentes pesquisadores em institutos de P&D no país e fora para estruturação e consolidação de projetos aplicando redes de Petri. Em 1997, cria-se, então, o Laboratório de Redes de Petri, onde são desenvolvidas pesquisas relacionadas com computação concorrente e distribuída, através da aplicação de redes de Petri e de outros métodos formais, com ênfase na concepção, especificação, modelagem e validação de tais sistemas. As principais aplicações encontram-se relacionadas à Engenharia de Software, incluindo também projetos focados em Sistemas em Tempo-Real, Banco de Dados, Sistemas Discretos e Sistemas Híbridos.
Atualmente, com a chegada de novos doutores, o grupo vem se preparando para atuar em três novas linhas temáticas, consideradas importantes para melhoria da competividade e qualificação de nossa indústria de software: (1) desenvolvimento e fundamentação teórica de métodos de testes efetivos, onde a meta é atuar na verificação de aspecos de funcionalidade e integração de componentes e arquiteturas de software - implantando Testes Formais de Componentes e Arquiteturas a partir de Especificações Algébricas; (2) investigação de processos de desenvolvimento e gerência de sistemas de software, tendo como ênfase as tecnologias baseadas em Web e seu impacto no contexto de empresas que praticam outsourcing - Modelos de Desenvolvimento e Evolução de Software; e (3) investigação dos avanços em tecnologias sem fio e do impacto produzido nos atuais paradigmas de computação, onde usuários carregam dispositivos portáteis e têm acesso a uma infra-estrutura compartilhada independente de sua localização - Desenvolvimento de Aplicações para a Internet Usando Agentes Móveis.
Líder
Jorge César Abrantes de Figueiredo
Ano de Formação
1975
Orientadores Atuais
- Angelo Perkusich
- Bernardo Lula Júnior
- Dalton Dario Serey Guerrero
- Francilene Procópio Garcia
- Franklin Ramalho
- Jacques Philippe Sauvé
- Jorge César Abrantes de Figueiredo
- José Eustáquio Rangel de Queiroz
- Leandro Dias da Silva
- Marcelo Alves de Barros
- Maria de Fátima Queiroz Vieira
- Patrícia Duarte de Lima Machado
- Walfredo da Costa Cirne Filho
Alunos Atuais
- Amanda Saraiva Bezerra
- Ana Esther Victor Barbosa
- Antonio Jaime M. de Almeida
- Carlos Alexandre de Araújo Lima
- Cássio Leonardo Rodrigues (doutorado)
- Emanuela Gadelha Cartaxo (doutorado)
- Flávio Ronison Sampaio
- Helton Souza Lima
- Jairson Marinho Cabral
- Karolyne Maria Alves de Oliveira
- Laisa Helena Oliveira do Nascimento
- Lile Hattori
- Makelli Jucá
- Mirna Carelli Oliveira Maia
- Pablo Oliveira Antonino de Assis
- Paulo Eduardo e Silva Barbosa (doutorado)
- Raul Fernandes Herbster
- Roberto Almeida Bittencourt
- Rodrigo Rebouças de Almeida (doutorado)
- Wilkerson de Lucena Andrade (doutorado)
- Yuska Paola Costa Aguiar
Concluintes Recentes
- Adriano José Pinheiro Lemos
- Adriano Wagner Araújo Bezerra
- Afrânio Mangueira de Assis
- Alberto Costa Neto
- Ana Emília Victor Barbosa
- Ana Karla Alves de Medeiros
- André Luiz de Lima Figueiredo
- Andrés Ignácio Martinez Menéndez
- Carina Machado de Farias
- Carlos Alberto Odorico de Moraes Filho
- Carlos Eduardo Caminha Lopes Rodrigues
- Carlos Octávio de Alexandre Queiroz
- Cássio Leonardo Rodrigues
- Cecir Barbosa de Almeida Farias
- César Rocha Vasconcelos
- Cidinha Costa Gouveia
- Claudia Veronica Serey Guerrero
- Daniel Aguiar
- Daniel Lima Barbosa
- Daniel Scherer
- Edna Dias Canedo
- Elizabet Maria Spohr de Medeiros
- Elthon Allex da Silva Oliveira
- Emerson Ferreira de Araújo Lima
- Fabiana Paulino Guedes
- Fábio Roberto Pillatt
- Fabrício Vale de Azevedo Guerra
- Francisco Petrônio Alencar de Medeiros
- Glaucimar da Silva Aguiar
- Grace Maria Cavalcanti Sampaio
- Ivette Kafure Muñoz
- Janeide Albuquerque Cavalcanti
- José Amâncio da Silva Macedo
- José Augusto de Oliveira Neto
- Kyller Costa Gorgônio
- Marconi Luiz França
- Pablo Ribeiro Suárez
- Pasqueline Lacerda Dantas
- Paulo Eduardo e Silva Barbosa
- Pedro Barbosa Cordeiro
- Ricardo Lima e Silva
- Rodrigo Rebouças de Almeida
- Rodrigo César Lobo de Oliveira
- Rogério Dourado Silva Junior
- Sandro Alex Damasceno Costa
- Silvino Benevides Magalhães
- Taciano de Morais Silva
- Vanessa Farias Dantas Freire
- Wilkerson de Lucena Andrade
- Zilma Betânia de Sá Ribeiro
Temas de Pesquisa para 2009
- ES-01-M
- Título: Pesquisa teórica e aplicada em Refatoramentos.
- Nível: Mestrado.
- Orientadores: Dalton Serey e Rohit Gheyi.
- Breve Descrição: Refatoramentos são transformações de programas que preservam o comportamento observável. Muitas ferramentas como Eclipse e NetBeans? implementam vários destes refatoramentos. Entretanto, elas possuem vários erros, desde transformações que introduzem erros de compilação (mais simples de serem detectados), até erros de mudança de comportamento (mais difíceis de serem detectados). O objetivo deste trabalho é propor uma abordagem de geração de testes úteis, utilizando algumas técnicas de análise de impacto estáticas, para encontrarmos problemas em mudanças de comportamento.
- ES-02-M
- Título: Descoberta de Padrões em MDA.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Patrícia Machado.
- Breve Descrição: MDA é uma área emergente que provê toda uma infra-estrutura e linguagens capazes de acelerar o processo de desenvolvimento de software. O objetivo deste trabalho é identificar, de forma automática, padrões nas mais variadas tarefas e nos mais variados artefatos construídos dentro da infra-estrutura MDA. Adicionalmente, ferramentas poderão ser desenvolvidas para provê suporte aos padrões descobertos.
- ES-03-M
- Título: Verificação de Modelos UML 2.0.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Patricia Machado.
- Breve Descrição: Com o surgimento e o fortalecimento de MDA, UML deixou de ser um formalismo apenas para especificar esboços de software e passou a ser uma linguagem completa para especificação de todas características de um software: funcional, estrutural e comportamental. Para tal, novos diagramas e artefatos com baixo nível de granularidade foram criados e OCL foi proposta e complementada como parte de UML. O objetivo maior desta linha de pesquisa é a construção de um conjunto de verificadores UML, sendo um para cada tipo de diagrama UML 2.0. Desta forma, estaremos oferecendo técnicas e ferramentas para que propriedades destes possam ser verificadas ainda em nível de modelos UML. Basicamente, cada verificador ou combinações deles, pode se concretizar em uma dissertação de mestrado.
- ES-04-M
- Título: Verificação de Conformidade entre Projeto e Implementação de Software.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Dalton Serey.
- Breve Descrição: Teste de projeto de software é um tipo de teste que checa a conformidade do código de implementação contra regras explicitamente especificadas durante a fase de projeto de software. Nesse projeto, usamos UML e Java como linguagens para especificação e implementação, respectivamente, de projeto de software. Usamos toda a infra-estrutura MDA provida pela OMG para gerar os testes de projeto automaticamente a partir de modelos estruturais e comportamentais de UML 2.0. Nesse contexto, existem desafios a serem explorados, de forma que facilmente vários trabalhos de mestrado poderão ser envolvidos para alcançar os objetivos nesta linha de pesquisa.
- ES-05-M
- Título: Incorporando características comportamentais em meta-modelos.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Patricia Machado.
- Breve Descrição: Meta-modelos são modelos capazes de descrever, de forma estruturada, quaisquer domínios de aplicação, assim como diferentes linguagens - sendo aqui chamados de sintaxe abstrata da linguagem. O objetivo deste trabalho é investigar a necessidade de incorporação de aspectos comportamentais dentro de especificações de meta-modelos, propondo e efetivando soluções para tal.
- ES-06-M
- Título: Aplicando MDA para prover suporte para DSLs.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Patrícia Machado.
- Breve Descrição: É crescente o número DSLs (Domain Specific Languages) lançadas e amplamente usadas no mercado. Por outro lado, MDA é uma área emergente que provê toda uma infra-estrutura e padrões capazes de acelerar o processo de desenvolvimento de software. DSLs e MDA têm uma forte sinergia carente de ser explorada. O objetivo deste projeto é investigar e propor técnicas MDA para construção e suporte para DSLs.
- ES-07-M
- Título: Perfis UML x meta-modelos.
- Nível: Mestrado.
- Orientador: Franklin Ramalho e Patrícia Machado.
- Breve Descrição: MDA é uma área emergente que provê toda uma infra-estrutura e padrões capazes de acelerar o processo de desenvolvimento de software. Dentro do contexto de MDA, meta-modelos e perfis UML surgem como bases essenciais para viabilizar transformações de modelos. O objetivo deste estudo é investigar e comparar os aspectos teóricos e práticos envolvidos com a utilização de meta-modelos ou de perfis em transformações MDA, identificando cenários para o uso de cada um destes.
- ES-08-M
- Título: Teste Digirido por Modelos baseado em MDA.
- Nível: Mestrado.
- Orientador: Patrícia Machado.
- Breve Descrição: Teste Dirigido por Modelos (MDT) tem como objetivo gerar automaticamente casos de teste a partir de modelos abstratos de comportamento de um software, contribuindo para aumentar a efetividade, confiabilidade e produtividade em processos de teste. Diferentemente de práticas convencionais de teste baseado em modelos, MDT se caracteriza por todo o processo de geração ser guiado por regras de transformação pré-definidas entre modelos em diferentes níveis de abstração: independente e dependente de plataforma.
- ES-09-M
- Título: Redução Automática de Conjuntos de Teste de Regressão.
- Nível: Mestrado.
- Orientador: Patrícia Machado.
- Breve Descrição: Como parte do processo de evolução de software, testes precisam ser continuamente executados durante todo o ciclo de vida de software. Visto que mudanças afetam partes específicas do software e os custos de execução e manutenção de conjuntos de teste são altos, é necessário identificar um conjunto mínimo de casos de teste que seja mais efetivo em cada teste de regressão. Tal conjunto mínimo precisa ter alta capacidade de detecção de defeitos e ao mesmo tempo uma cobertura ótima de funcionalidades que torne possível a validação de mudanças.
- ES-10-M
- Título: Construção e Validação de Modelos e Procedimentos para Gestão Financeira de Portfólio de Serviços de TI.
- Nível: mestrado.
- Orientadores: Antão Moura e Jacques Sauvé.
- Breve Descrição: O objetivo é desenvolver e validar modelos para análise de alternativas (apoio à decisão) de investimentos em serviços de TI, na presença de incertezas. Modelos devem considerar critérios tangíveis, intangíveis e risco. Interessados deverão trabalhar com modelagem, processos de negócio, arcabouços de gestão corporativa (a exemplo do Balanced Scorecard), Teoria da Possibilidade, Aritmética Intervalar e Teoria da Utilidade.
- ES-11-M
- Título: Evolução Dinâmica e Não Antecipada de Software.
- Nível: mestrado.
- Orientadores: Leandro Dias da Silva e Angelo Perkusich.
- Breve Descrição: O projeto Compor (http://compor.net) tem como objetivo o desenvolvimento de metodologias, técnicas e ferramentas para o desenvolvimento de software com suporte à evolução dinâmica e não antecipada. Dentre as principais áreas de aplicação relacionadas ao tema, destacam-se computação autônoma e sistemas multi-agentes.
- ES-12-M
- Título: Desenvolvimento de software para computação pervasiva.
- Nível: mestrado.
- Orientadores: Leandro Dias da Silva e Angelo Perkusich.
- Breve Descrição: O projeto PerComp? (http://percomp.org) tem como objetivo o desenvolvimento de metodologias, técnicas e ferramentas para o desenvolvimento de software para computação móvel e pervasiva. Dentre as principais áreas de aplicação relacionadas ao tema, destacam-se multimídia e evolução de aplicações pervasivas.
- ES-13-M
- Título: Confiança em Sistemas Instrumentados de Segurança.
- Nível: mestrado.
- Orientadores: Leandro Dias da Silva e Angelo Perkusich.
- Breve Descrição: O projeto SIS (http://www.embedded.ufcg.edu.br/sis/wiki/index.php/Principal) tem como objetivo o desenvolvimento de métodos, técnicas e ferramentas para garantir confiança nos Sistemas Instrumentados de Segurança. Tais sistemas são essenciais na operação de instalações de petróleo e gás para prevenir a ocorrência de situações indesejadas quando da execução de procedimentos realizados automaticamente ou sob a interferência e operadores humanos. Esses sistemas são normalmente interligados ao sistema de controle supervisório e usam as informações obtidas através de sensores e, a partir da determinação do estado do processo, utilizam dispositivos de campo para prevenir a ocorrência de situações indesejadas. Técnicas e ferramentas para verificação de modelos e geração/execução automática de testes estão sendo utilizadas atualmente no contexto deste projeto.
- ES-14-M
- Título: Abordagem Formal e Visual para Integrar as Fases de Projeto e Implementação de Sistemas de Software.
- Nível: mestrado.
- Orientadores: Leandro Dias da Silva e Angelo Perkusich.
- Breve Descrição: Este projeto tem como objetivo o desenvolvimento de técnicas e ferramentas associadas para integrar as feses de implementação e projeto de software. A abordagem formal e visual deve permitir que uma especificação formal seja integrada com a fase de implementação garantindo consistência entre essas duas fases através de um ambiente integrado de desenvolvimento.
- ES-15-M
- Título: Desenvolvimento Formal Baseado em Componentes.
- Nível: mestrado.
- Orientadores: Leandro Dias da Silva e Angelo Perkusich.
- Breve Descrição: O objetivo deste projeto é consolidar técnicas de desenvolvimento baseado em componentes associadas ao formalismo de redes de Petri coloridas. Para tanto, é necessária a formalização do conceito de interface para os modelos, além do desenvolvimento de ferramentas para tratar este cenário. A especificação e verificação de compatibilidade de interfaces é um importante campo de pesquisa em vários domínios de sistemas de software como, por exemplo, sistemas embarcados. A ferramenta TICC (http://dvlab.cse.ucsc.edu/Ticc) tem sido utilizada para analise de compatibilidade de interfaces.
- ES-16-M
- Título: Avaliação multidimensional da acessibilidade de interfaces com o usuário.
- Nível: Mestrado.
- Orientador: José Eustáquio Rangel de Queiroz e Joseana Macêdo Fechine.
- Breve Descrição: Um aspecto-chave para o projeto de interfaces centrado no usuário (UCD) é a avaliação da interface nos primeiros estágios do processo UCD e ao longo processo. A meta de incorporação de aspectos de acessibilidade ao UCD é destinada à criação de produtos (dispositivos, ambientes, sistemas e processos) que sejam usáveis por usuários com a mais extensa gama possivel de capacidades e que possam funcionar na mais extensa gama de situações possíveis (ambientes, condições e circunstâncias), obviamente no âmbito comercialmente viável. A proposta focalizada por este tema se refere à concepção de uma metodologia multicamadas destinada à avaliação da acessibilidade de interfaces com o usuário de aplicações de software.
- ES-17-M
- Título: Avaliação multidimensional da usabilidade de sistemas de informação geográfica (GIS) para dispositivos móveis.
- Nível: Mestrado.
- Orientador: José Eustáquio Rangel de Queiroz.
- Breve Descrição: O contexto da mobilidade sucita vários temas de investigação para aplicações de sistemas de informação geográfica (GIS). Limitações impostas por dispositivos de interação do usuário de dispositivos móveis, e.g. uso de entrada de dados via caneta (pen input) duarante o movimento do usuário, resulta em problemas de usabilidade não triviais para a navegação e interação do usuário, sobretudo com aplicações móveis destinadas ao processamento de informação geográfica. A proposta focalizada por este tema se refere à investigação das limitações impostas por tais sistemas ao processo interativo e a concepção de uma metodologia multicamadas destinada à avaliação da usabilidade de interfaces com o usuário de aplicações desta natureza.
- ES-18-MD
- Título: Recuperação e verificação arquitetural e de design.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: A arquitetura e o design de um sistema são orientações que o desenvolvedor deve seguir ao implementá-lo. Quem garante, contudo, que a implementação adere ao que determina a arquitetura ou o design especificados? O objetivo desta linha de pesquisa é propor, desenvolver e avaliar técnicas que permitam automatizar o processo de extração e verificação do design e da arquitetura do software. O desafio é fazê-lo sem impor ao desenvolvedor uma nova linguagem de descrição arquitetural ou de design que dificulte sua adoção.
- ES-19-MD
- Título: Análise de impacto de mudanças.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: Avaliar que impactos uma mudança pode provocar é fundamental para estimar o custo da mudança. E o custo é, em última instância, a condição determinante para se fazer ou não a mudança. Embora algoritmos para avaliar impactos já estejam disponíveis na literatura, diversas melhorias ainda podem ser feitas. Neste trabalho, queremos investigar como melhorar os algoritmos existentes, reduzindo o número de falso-positivos e de falso-negativos que os algoritmos do estado-da-arte produzem.
- ES-20-MD
- Título: Técnicas e ferramentas para a mineração de repositórios de software.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: Uma enorme e crescente quantidade de dados está disponível hoje na Internet sobre desenvolvimento de software, na forma de repositórios. O objetivo desta linha (que podem ser muitas) é desenvolver ferramentas para viabilizar o estudo de repositórios de software.
- ES-21-MD
- Título: Estudos empíricos de repositórios de software.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: Uma enorme e crescente quantidade de dados está disponível hoje na Internet sobre desenvolvimento de software, na forma de repositórios. O objetivo desta linha (que podem ser muitas) é aplicar técnicas e ferramentas disponíveis para estudar repositórios de software e produzir conhecimento sobre processo e produtos de software que possam subsidiar o processo de desenvolvimento.
- ES-22-MD
- Título: Compreensão de software.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: A evolução de um sistema de software depende da compreensão dos conceitos e da organização do software por parte da equipe. Na prática, a compreensão depende da experiência e das habilidades individuais de cada desenvolvedor. Poucas técnicas e ferramentas para o apoio dessa atividade têm chegado à prática. Questões a serem investigadas incluem: o desenvolvimento de técnicas e ferramentas para a: localização de features, visualização da organização de código fonte, compreensão e navegação pelos artefatos de desenvolvimento.
- ES-23-MD
- Título: Ferramentas de apoio ao ensino de programação.
- Nível: Mestrado e Doutorado.
- Orientador: Dalton Serey.
- Breve Descrição: O ensino da prática de programação ainda demanda um esforço considerável do professor. O uso de uma metodologia baseada em problemas e o uso de testes automáticos, contudo, pode tornar a avaliação dos programas muito mais ágil. Neste trabalho, pretendemos desenvolver e avaliar uma ferramenta de apoio ao ensino de programação. A ferramenta que desenvolveremos será organizada como um serviço web que permitirá a interação ágil entre professor, tutores e alunos, através da publicação de problemas, testes automáticos e da coleta de respostas.
- ES-24-MD
- Título: Pesquisa teórica e aplicada em Aspectos.
- Nível: Mestrado.
- Orientador: Rohit Gheyi e Dalton Serey.
- Breve Descrição: O paradigma orientado a aspectos (OA) pode ser utilizado para modularizar preocupações que se espalham pelo código, e que se misturam com outras preocupações. Entretanto, devido a fragilidade da linguagem que expressa os pointcuts, qualquer alteração no código orientado a objetos pode intereferir no código OA. Neste trabalho, iremos propor uma linguagem e um suporte ferramental para expressar regras de design, que são úteis para melhorar a modularidade entre classes e aspectos.
to top