Palestrantes

Laurie Williams

Laurie Williams é uma distinta professora universitária do Departamento de Ciência da Computação da Faculdade de Engenharia da North Carolina State University (NCSU). Laurie é codiretora do NCSU Science of Security Lablet, patrocinado pela National Security Agency, o NCSU Secure Computing Institute, e é o principal tecnólogo de segurança cibernética do SecureAmerica Institute. A pesquisa de Laurie se concentra na segurança de software; práticas e processos de desenvolvimento de software ágeis, principalmente implantação contínua; e confiabilidade de software, teste e análise de software. Laurie é ACM e IEEE Fellow.

Resolvendo Desafios de Segurança de Software com Inteligência Artificial

Descrição

A segurança do software está na interseção da engenharia de software e da segurança cibernética – incorporando a segurança em um produto. As técnicas de segurança de software se concentram na prevenção da injeção de vulnerabilidades e na detecção das vulnerabilidades que aparecem em um produto ou no pipeline de implantação antes de o produto ser lançado. Cada vez mais, a inteligência artificial está sendo usada para potencializar as técnicas de segurança de software para auxiliar as organizações na implantação de produtos seguros. Esta palestra apresentará um panorama de pesquisa e prática na interseção da engenharia de software, segurança cibernética e inteligência artificial para resolver os desafios da segurança cibernética. A palestra também apresentará projetos de pesquisa conduzidos pelo próprio grupo de pesquisa do palestrante.


Leandro L. Minku

Leandro L. Minku é Professor de Sistemas Inteligentes na Faculdade de Ciência da Computação da Universidade de Birmingham (Reino Unido). Os principais interesses de pesquisa do Dr. Minku são: Aprendizado de Máquina em Ambientes Não Estacionários / Mineração de Fluxo de Dados, Aprendizado Online de Classe Desbalanceada, Conjuntos de Aprendizado de Máquina e Inteligência Computacional para Engenharia de Software. Entre outros, Leandro Minku é editor-chefe associado da revista Neurocomputing, editor associado da IEEE Transactions on Neural Networks and Learning Systems, editor coordenador da revista Empirical Software Engineering e editor associado da revista Journal of Systems and Software.

Prediction of Defect-Inducing Software Changes in Dynamic Environments

Descrição

Os sistemas de software tornaram-se cada vez maiores e mais complexos. Isso inevitavelmente leva a defeitos de software, cuja depuração e correção são caras. Para ajudar a reduzir o número de defeitos, abordagens de aprendizado de máquina foram propostas para prever mudanças indutoras de defeitos no código-fonte do software no momento do commit. Ao inspecionar essas alterações no momento do commit, os desenvolvedores podem reduzir as chances de induzir defeitos que são muito mais caros para depurar e corrigir em estágios posteriores. Embora os resultados nesta área sejam promissores, a maioria dos estudos existentes assume que as características do problema permanecem as mesmas ao longo do tempo. Porém, o ambiente onde são realizados os projetos de software é dinâmico, sendo afetado por mudanças na equipe de desenvolvimento, na estratégia de gestão, no estágio atual de desenvolvimento de software, entre outros. Esse dinamismo significa que o processo de geração de defeitos pode variar ao longo do tempo, prejudicando a capacidade dos classificadores de aprendizado de máquina de ter um bom desempenho. Nesta palestra, discutirei os últimos avanços no tratamento da previsão de mudanças de software que induzem defeitos em ambientes dinâmicos.


Carolyn Seaman

Carolyn Seaman é professora de Sistemas de Informação na University of Maryland Baltimore County (UMBC). Ela também é diretora do Centro para Mulheres em Tecnologia da UMBC. Sua pesquisa consiste principalmente em estudos empíricos de engenharia de software, com ênfase especial em manutenção, estrutura organizacional, comunicação, medição e dívida técnica. Ele também investiga métodos de pesquisa qualitativa em engenharia de software, bem como em pedagogia da computação. Ela tem um Ph.D. em Ciência da Computação pela University of Maryland, College Park, um MBA pela Georgia Tech e um BA pelo College of Wooster, Ohio.

Decision Making in Software Engineering: The Central Role of Technical Debt 

Descrição

Dívida técnica é uma metáfora que captura o equilíbrio comum que ocorre em projetos de desenvolvimento de software entre pressões de curto prazo (por exemplo, tempo de entrega) e preocupações de longo prazo (por exemplo, capacidade de manutenção). Refere-se a problemas em um produto de software que foram criados sob pressão de curto prazo, mas que representam um risco para a capacidade da equipe de manter o produto ao longo do tempo. Os tipos mais comuns de dívida técnica são código excessivamente complexo, código mal estruturado, código não documentado, degradação da arquitetura de software, evidência insuficiente, etc. As decisões sobre se incorrer em dívidas, ou quando pagá-las, ou que dívidas pagar, resumem perfeitamente o curto vs. que são típicos em engenharia de software. Na verdade, pode-se argumentar que quase todas as decisões tomadas durante um projeto de software estão relacionadas de alguma forma ao débito técnico. Portanto, um entendimento profundo e uma melhor tomada de decisão sobre dívida técnica terão um impacto significativo no gerenciamento de projetos de software em geral. Nesta palestra, revisaremos as tendências de pesquisa atuais em tomada de decisão técnica de dívida, engenharia geral de software e disciplinas relacionadas.


Alessandro Garcia

Pontifícia Universidade Católica do Rio de Janeiro, BrazilDr. Garcia é Doutor em Ciência da Computação pela Pontifícia Universidade Católica do Rio de Janeiro (2004). Ele foi Professor Assistente na Lancaster University (Inglaterra) de fevereiro de 2005 a janeiro de 2009 e atuou como membro do Conselho Editorial de duas importantes revistas internacionais em sua área: IEEE Transactions on Software Engineering e Journal of Systems and Software. O Professor Garcia tem sido frequentemente convidado para os Comitês de Programa e / ou Comitês de Organização das principais conferências internacionais de Engenharia de Software e áreas relacionadas, como ICSE, FSE, ICSME, MODELS, ICPC, ESEM e vários outros.

From Intuition to Spirituality: What Are their Roles in Software Design? 

Descrição

Intuição é a capacidade de compreender algo “automaticamente”, sem a necessidade de raciocínio consciente. O uso da intuição ao longo do projeto de software pode ter um grande impacto em sua qualidade geral. O design de software é uma atividade que requer decisões tomadas o tempo todo por arquitetos, desenvolvedores, testadores, mantenedores, revisores e outros. As intuições dessas partes interessadas podem conduzir a várias decisões de design, dada a necessidade de rapidez e muitos outros fatores de projeto de software. Apesar da intuição ser amplamente estudada em muitas disciplinas, seu papel no design de software raramente foi investigado em profundidade. Pode-se suspeitar que a intuição, dadas as súbitas decisões de design desencadeadas por ela, pode fazer mais mal do que bem no design de software. De qualquer forma, este não é necessariamente o caso. Ainda temos conhecimento limitado sobre a influência da intuição na qualidade do software. Existem diferentes tipos de intuição sendo investigados em outras disciplinas, inclusive as mais polêmicas, como a “intuição espiritual”. O objetivo desta palestra é apresentar um caso sobre a importância de estudar o papel de certos tipos de intuição no design de software. Apresentaremos algumas direções de pesquisa possíveis que provavelmente nos permitirão entender se e como nossos métodos, ferramentas e IDEs podem estimular a intuição “positiva” no design de software.