Engenharia de Software
Sobre a disciplina
Componente curricular: Engenharia de Software
Número de créditos: 4 créditos
Carga horária: 60h
Horário: Quartas (08h-10h) e Sextas (10h-12h)
Local: CD 107
Comunicação: Google Classroom
Professores: Wilkerson Andrade (Fase 1) e Rohit Gheyi (Fase 2)
Objetivos
Compreender estratégias de leitura e documentação (fichamento) de resultados recentes na área de Engenharia de Software;
Planejar e apresentar seminários sobre resultados recentes na área de Engenharia de Software;
Escrever artigo direcionado ao trabalho de dissertação de mestrado ou tese de doutorado dentro da área de Engenharia de Software.
Metodologia
A disciplina será dividida em duas fases. A primeira fase será baseada na leitura, fichamento e apresentação de artigos da área. A fase inicial da disciplina será acompanhada pelo professor Wilkerson Andrade. A segunda fase envolverá a escrita de um artigo e será guiada pelo professor Rohit Gheyi.
Avaliação
A avaliação da disciplina será individual considerando as seguintes atividades:
Fase 1 (50%): Fichamentos e seminário
Fase 2 (50%): Escrita de artigo
Artigos (Leitura, Fichamento e Apresentação)
Writing Good Software Engineering Research Papers - https://www.cs.cmu.edu/~Compose/shaw-icse03.pdf
No Silver Bullet: Essence and Accident in Software Engineering - http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
Software Engineering at Google (2019) - https://arxiv.org/ftp/arxiv/papers/1702/1702.01715.pdf
A Case Study of Onboarding in Software Teams: Tasks and Strategies (2021) - https://doi.org/10.1109/ICSE43902.2021.00063
Controlled Concurrency Testing via Periodical Scheduling (2022) - https://wcventure.github.io/pdf/ICSE2022_PERIOD.pdf
An Empirical Investigation into the Impact of Refactoring on Regression Testing (2012) - http://web.cs.ucla.edu/~miryung/Publications/icsm2012-RefRT.pdf
Use of Test Doubles in Android Testing: An In-Depth Investigation (2022) - https://software.imdea.org/~alessandra.gorla/papers/Fazzini-MockICSE22.pdf
What Makes Effective Leadership in Agile Software Development Teams? (2022) - https://arxiv.org/pdf/2201.08058.pdf
What Makes a Good Commit Message? (2022) - https://arxiv.org/pdf/2202.02974.pdf
Why Don't Software Developers Use Static Analysis Tools to Find Bugs? (2013) - https://doi.org/10.1109/ICSE.2013.6606613
Why We Refactor? Confessions of GitHub Contributors (2016) - https://users.encs.concordia.ca/~nikolaos/publications/FSE_2016.pdf
TOGA: A Neural Method for Test Oracle Generation (2022) - https://www.seas.upenn.edu/~edinella/icse-camera-ready.pdf
Towards Automating Code Review Activities (2021) - https://arxiv.org/pdf/2101.02518.pdf
Commit Message Matters: Investigating Impact and Evolution of Commit Message Quality (2023) - http://stairs.ics.uci.edu/papers/2023/Commit_Messages.pdf
A Textual-based Technique for Smell Detection (2016) - https://fpalomba.github.io/pdf/Conferencs/C10.pdf
Collaboration Challenges in Building ML-Enabled Systems: Communication, Documentation, Engineering, and Process (2022) - https://dl.acm.org/doi/pdf/10.1145/3510003.3510209
Datas das Apresentações
30/08: Writing Good Software Engineering Research Papers - Wilkerson (slides)
01/09: No Silver Bullet: Essence and Accident in Software Engineering (apenas fichamento e discussão na aula)
06/09: Seminário 01 - Software Engineering at Google - Rafael Guimarães
08/09: Seminário 02 - What Makes Effective Leadership in Agile Software Development Teams? - Lana
13/09: Seminário 03 - Why We Refactor? Confessions of GitHub Contributors - Igor
15/09: Seminário 04 - An Empirical Investigation into the Impact of Refactoring on Regression Testing - Felisberto
20/09: Seminário 05 - What Makes a Good Commit Message? - Alisson
22/09: Seminário 06 - Collaboration Challenges in Building ML-Enabled Systems: Communication, Documentation, Engineering, and Process - Sheila
27/09: A Case Study of Onboarding in Software Teams: Tasks and Strategies (Apenas fichamento)
29/09: Commit Message Matters: Investigating Impact and Evolution of Commit Message Quality (Apenas fichamento)
04/10: Seminário 07 - A Textual-based Technique for Smell Detection - Felipe
06/10: Seminário 08 - Why Don't Software Developers Use Static Analysis Tools to Find Bugs? - Mathias
18/10: Seminário 09 - TOGA: A Neural Method for Test Oracle Generation - Diego