Seminars at the Faculty of Informatics

Dude, we can estimate the understandability of your code! Actually, no! Not yet!

Speaker: Rocco Oliveto
  University of Molise, Italy
Date: Monday, November 20, 2017
Place: USI Lugano Campus, room A-22, Red building (Via G. Buffi 13)
Time: 09:30-10:30

 

Abstract:

I started my PhD in 2004 working on software traceability. I spent a lot of effort (and the best years of my life) on the definition of semi-automatic approaches for the recovery of traceability information using Information Retrieval methods. However, when I started my academic career, I had the desire to facilitate the life of programmers, in general, and maintainers, in particular. Why maintainers? Because they need to read, comprehend and update code written by others! This is the reason why at the first opportunity I changed my research direction focusing on methods and tools to improve the internal quality of source code. I spent more than 5 years on the definition of novel approaches for the detection and removal of code design flaws (e.g., code bad smells). However, even if such design flaws negatively impact the comprehension and maintainability of source code, I strongly believe that source code smells really bad when it is difficult to read. This is the reason why I decided to accept a new challenge: making source code easier to read, and more importantly, to understand. Of course, the connected research conjecture is, the higher the understandability, the lower the effort to maintain the code. However, to make code more understandable, you need to measure its understandability. Here, the first obstacle. Are we able to measure the understandability? Actually no! In this talk I will present the negative results of a study we conducted with 46 programmers who were asked to understand eight code snippets each. The results indicate that none of the (existing and new) metrics we considered is able to capture code understandability, not even the ones assumed to assess quality attributes strongly related with it, such as code readability and complexity. Thus, the way for an effective estimation of code understandability is still long and my talk is a “call to arms”. The collaborative spirit that distinguishes me suggests that this is just another challenge that we, as research community, can face and overcome.

 

Biography:

Rocco Oliveto is Associate Professor at University of Molise (Italy), where he is also the Director of the Computer Science Bachelor and Master programs and the Director of the Software and Knowledge Engineering Lab (STAKE Lab). He co-authored over 100 papers on topics related to software traceability, software maintenance and evolution, search-based software engineering, and empirical software engineering. His activities span various international software engineering research communities. He has served as organizing and program committee member of several international conferences in the field of software engineering. He was program co-chair of ICPC 2015, TEFSE 2009 and 2015, SCAM 2014, WCRE 2012, and 2013. He is general chair for SANER 2018 that will be held in Campobasso from March 20, 2018 to March 23, 2018. He is also one of the co-founders and CEO of DataSound, a spin-off of the University of Molise aiming at efficiently exploiting the priceless heritage that can be extracted from big data analysis via machine learning. 
More info at https://dibt.unimol.it/staff/oliveto/

 

Host: Prof. Michele Lanza