Understanding the Impact of Developers’ Design Decisions on Software Quality: A Research Journey
Foutse Khomh, Polytechnique Montreal
CS-Can|Info-Can Outstanding Young Researcher Award Winner 2019
Developers’ design decisions shape software and determine its ability to meet its requirements. Design smells also known as Antipatterns are “poor” solutions to recurring design problems. They are generally introduced in systems by developers who do not have sufficient knowledge and/or experience in solving a particular problem or who have misapplied some design patterns. Understanding and assessing the impact of developers’ design decisions on software quality poses several challenges. In this talk, I will report about a series of studies that we have conducted over the years to assess the impact of developers’ design decisions on software quality. I will also share some of the lessons that I have learned as a researcher while designing and running these studies. I will conclude my talk by presenting some of the research directions that we are currently investigating in my research team.
Foutse Khomh is a Full Professor of Software Engineering at Polytechnique Montréal and FRQ-IVADO Research Chair on Software Quality Assurance for Machine Learning Applications. He received a Ph.D. in Software Engineering from the University of Montreal in 2011, with the Award of Excellence. He also received a CS-Can/Info-Can Outstanding Young Computer Science Researcher Prize for 2019. His research interests include software maintenance and evolution, machine learning systems engineering, cloud engineering, and dependable and trustworthy ML/AI. His work has received three ten-year Most Influential Paper (MIP) Awards, and six Best/Distinguished paper Awards. He has served on the program committees of several international conferences including ICSE, FSE, ICSM(E), SANER, MSR, and has reviewed for top international journals such as EMSE, TSC, TPAMI, TSE and TOSEM. He is on the steering committee of SANER (chair), MSR, PROMISE, ICPC (chair), and ICSME (vice-chair). He initiated and co-organized the Software Engineering for Machine Learning Applications (SEMLA) symposium and the RELENG (Release Engineering) workshop series. He is on the editorial board of multiple international software engineering journals and is a Senior member of IEEE.