Write a Blog >>
ICSE 2021
Sat 22 - Sun 30 May 2021
Technical Briefings
Reactive Synthesis with Spectra: A Tutorial
Wednesday, May 26,
11:15 CEST
(135 minutes)

Shahar Maoz

Jan O. Ringert
Decoding Grounded Theory for Software Engineering
Thursday, May 27,
10:00 CEST
(75 minutes)

Rashina Hoda
Hands-On Session on the Development of Trustworthy AI software
Tuesday, May 25,
19:15 CEST
(135 minutes)

Ville Vakkuri

Kai-Kristian Kemell

Pekka Abrahamsson
Bayesian Data Analysis for Software Engineering
Wednesday, May 26,
19:15 CEST
(110 minutes)

Richard Torkar

Carlo A. Furia

Robert Feldt
NLP for Requirements Engineering: Tasks, Techniques, Tools, and Technologies
Tuesday, May 25,
15:15 CEST
(75 minutes)

Alessio Ferrari

Liping Zhao

Waad Alhoshan
The Software Challenges of Building SmartChatbots
Thursday, May 27,
15:15 CEST
(135 minutes)

Gwendal Daniel

Jordi Cabot
Advances in Code Summarization
Friday, May 28,
11:15 CEST
(110 minutes)

Utkarsh Desai

Giriprasad Sridhara

Srikanth Tamilselvam

Reactive Synthesys with Spectra: A Tutorial

Time: Wednesday, May 26, 11:15 CEST (135 minutes)

Shahar Maoz, Jan Oliver Ringert

Tel Aviv University

Reactive systems compute by ongoing interaction with their environment. Example systems include industrial robots and web applications. Spectra is a formal specification language specifically tailored for use in the context of reactive synthesis, an automated procedure to obtain a correct-by-construction reactive system from its temporal logic specification. Spectra comes with the Spectra Tools, a set of analyses, including a synthesizer to obtain a correct-by-construction implementation, several means for executing the resulting controller, and additional analyses aimed at helping engineers write higher-quality specifications. This hands-on tutorial will introduce participants to the language and the tool set, using examples and exercises, covering an end-to-end process from specification writing to synthesis to execution. The tutorial may be of interest to software engineers and researchers who are interested in the potential applications of formal methods to software engineering.

Shahar Maoz is an Associate Professor at the School of Computer Science in Tel Aviv University, where he heads the Software Modeling Laboratory. Shahar has BSc and MSc computer science degrees from Tel Aviv University, and a PhD from the Weizmann Institute, Israel. From 2010 to 2012 he was a post-doc research fellow in RWTH Aachen University, Germany, with a fellowship from the Minerva Foundation. In 2015-2016 he spent a sabbatical at MIT CSAIL. Shahar’s research interests are in software engineering, specifically in the use of models and formal methods for software evolution, model inference, testing, and synthesis. His work has been published in top software engineering and modeling conferences and journals. He has served multiple times on the program committees of ASE, ESEC/FSE, ICSE, and MoDELS conferences, and will be PC co-Chair for ASE’22. He is a recipient of an ERC Starting Grant for the development of synthesis technologies (project SYNTECH: http://smlab.cs.tau.ac.il/syntech/).





Jan Oliver Ringert is a Lecturer at the School of Informatics at University of Leicester. Jan has a Diploma from Technical University of Brunswick and a PhD from RWTH Aachen University. From 2013 to 2015 he was a post-doc research fellow in Tel Aviv University, with a fellowship from the Minerva Foundation. From 2015 to 2018 his post-doc research was funded through the SYNTECH project. Jan’s research interests are in using formal methods for model-based software engineering with applications to autonomous systems. His work has been published in top software engineering and modeling conferences and journals. Jan has co-developed and taught classes on synthesis using Spectra at Tel Aviv University. He was lead developer of the Spectra Tools from 2014 to 2018. He obtained Fellowship status from the Higher Education Academy in 2020.







Decoding Grounded Theory for Software Engineering

Time: Thursday, May 27, 10:00 CEST (75 minutes)

Rashina Hoda

Monash University

Grounded Theory, while becoming increasingly popular in software engineering, is also one of the most misunderstood, misused, poorly presented and evaluated methods in software engineering. When applied well, GT results in dense and valuable explanations of how and why phenomena occur in practice. GT can be applied as a full research method leading to mature theories and also in limited capacity for data analysis within other methods, using its robust open coding and constant comparison procedures.

This 90 mins technical briefing will aim to debunk some of the myths surrounding GT and cover the following key areas:

  • A brief overview of traditional GT (see resources for preparation below)
  • A summary of GT in software engineering – general state of practice and key challenges
  • A gentle introduction to Socio-Technical Grounded Theory (STGT), a customised variant of GT for software engineering research, including examples of theories resulting from GT studies in SE research, an interactive open coding exercise, and evaluation guidelines for emerging findings and mature grounded theories.

The briefing will present GT’s various seemingly complex concepts, steps, and procedures in easy to understand ways with plenty of relevant examples from real-world software research spanning 15 years of experience in conducting, supervising, reviewing, and editing GT studies. Important: To get the most out of the technical briefing, please review the following resources in advance. This will enable the briefing to be more fun and interactive, with room for open Q and A.

Resources for Preparation (please go through prior to attending)

  • Paper: Hoda, R., Noble, J., & Marshall, S. (2012). Developing a grounded theory to explain the practices of self-organizing Agile teams. Empirical Software Engineering, 17(6), 609-639. Link to preprint: https://tinyurl.com/yyl5j8gz
  • Video: A talk and QA with Rashina Hoda on Grounded Theory in Software Engineering, hosted by Prof Margaret-Anne Storey at the Empirical Software Engineering course, University of Victoria, Canada, 2020. Link: https://youtu.be/z-Yr27qtePM

Associate Professor Rashina Hoda is the Associate Dean (Academic Workforce) and Deputy Director of the HumaniSE Lab at Monash University, Melbourne. She is a leading international expert in the use of Grounded Theory in Software Engineering with over 15 years of experience in conducting, supervising, reviewing, and editing GT studies in SE. She is currently writing a book on the subject in contract with Springer, due for release in 2021, where she introduces Socio-Technical Grounded Theory, a variant of GT for socio-technical research. Rashina received a distinguished paper award at ICSE 2017 for her grounded theory of becoming agile and a distinguished reviewer award at ICSE 2019. In 2019-2020, Rashina contributed to the Grounded Theory Standards as part of the ACM SIGSOFT Empirical Standards with Christoph Treude. She serves on the Organising Committee of ICSE2021, as Program co-Chair of the CHASE 2021 conference co-located at ICSE, and on the Review Board of the IEEE Transactions on Software Engineering, specialising in agile and GT research. For more, please visit: www.rashina.com




Hands-On Session on the Development of Trustworthy AI software

Time: Tuesday, May 25, 19:15 CEST (135 minutes)

Ville Vakkuri, Kai-Kristian Kemell, Pekka Abrahamsson

University of Jyväskylä

Following various real-world incidents involving both purely digital and cyber-physical Artificial Intelligence (AI) systems, AI Ethics has become a prominent topic of discussion in both research and practice, accompanied by various calls for trustworthy AI systems. AI ethics issues such as data privacy are currently highly topical. However, implementing AI ethics in practice remains a challenge for organizations. In this Hands-On technical briefing, we demonstrate how to implement AI ethics. We showcase a method developed for this purpose, ECCOLA, which is based on academic research. ECCOLA is intended to make AI ethics more practical for developers in order to make it easier to incorporate into AI development to create trustworthy AI systems. Participants get to utilize the method in practice and get their own digital copy of ECCOLA to take home.

Ville Vakkuri. PhD candidate from Faculty of Information Technology at University of Jyväskylä, Finland. He holds a MSc in Theology with a Social Ethics major from University of Helsinki. Vakkuri’s PhD research topic molds the AI community’s view towards ethically designed systems by embedding ethics into software development with a new practical approach.









Kai-Kristian Kemell. PhD candidate from the Faculty of Information Technology at the University of Jyväskylä, Finland. He holds a MSc (Econ) in Information Systems (IS) and an M.A. in History. Kemell’s research interests lie in software development methods, and particularly in the context of software startups, as well as AI ethics with a focus on development practices.







Pekka Abrahamsson. Professor of information systems and software engineering Head of IS Research Division, Director of Software Startuplab Member of the Finnish Academy of Science and Letters Faculty of Information Technology, University of Jyväskylä, Finland.










Bayesian Data Analysis for Software Engineering

Time: Wednesday, May 26, 19:15 CEST (110 minutes)

Richard Torkar, Carlo A. Furia, Robert Feldt

University of Gothenburg, Università della Svizzera italiana

For over a decade now, other disciplines that heavily rely on analyzing empirical data—including medicine, psychology, economics, and marketing—have been in a sort of replication crisis. Among other things, this crisis originates in using inflexible or inadequate statistical practices to analyze small datasets collected in experiments conducted in conditions that poorly capture real-world scenarios, and are plagued by confounders that are hard to control. There is reason to believe software engineering might not be much better off.

Given the broad and growing interest for statistical data analysis throughout the software engineering community, we will mainly focus on:

  • limitations of the current most common statistical techniques in software engineering;
  • principles underlying Bayesian data analysis;
  • brief overview of the Bayesian statistical framework;
  • key guidelines to apply Bayesian data analysis in practice;
  • practical examples of Bayesian (re-)analysis of software engineering empirical data.

Bayesian statistics is not a silver bullet that will fix all the issues with empirical data analysis (in software engineering); but it can be an important step in the direction of helping empirical software engineering build solid foundations and achieve robust results.

Richard Torkar is a professor of software engineering at the Software Engineering Division, Chalmers and the University of Gothenburg; head of Software Engineering Division at the Department of Computer Science and Engineering; and senator at the Faculty Senate at Chalmers University of Technology. His main research interests cover both qualitative and quantitative studies, in areas such as psychology in software engineering, search-based software engineering, and software testing, with a particular focus on methods of analysis. He teaches Bayesian and frequentist statistics to bachelor, master, and Ph.D. students.






Carlo A. Furia is an associate professor at the Software Institute of USI’s Faculty of Informatics. His main research interests center around developing rigorous techniques and tools to analyze and improve the quality, correctness, and reliability of software and systems. His interest in rigorous statistical practices grew out of dissatisfaction with the frustratingly counterintuitive features of frequentist statistics to analyze empirical data, and out of the fun of programming in R.






Robert Feldt is a professor of software engineering at the Software Engineering Division, Chalmers and the University of Gothenburg, and head of the Testing, Requirements, Innovation, and People (SE-TRIP) unit. He is also co-Editor in Chief of the Empirical Software Engineering (EMSE) Journal. He has broad research interests spanning from human factors to automation, statistics and machine learning, and works on software testing and quality, requirements engineering, as well as human-centered SE. Most of his research is empirical and conducted in close collaboration with industry partners.








NLP for Requirements Engineering: Tasks, Techniques, Tools, and Technologies

Time: Tuesday, May 25, 15:15 CEST (75 minutes)

Alessio Ferrari, Liping Zhao, Waad Alhoshan

CNR-ISTI , University of Manchester, IMSIU

Requirements engineering (RE) is one of the most natural language-intensive fields within the software engineering area. Therefore, several works have been developed across the years to automate the analysis of natural language artifacts that are relevant for RE, including requirements documents, but also app reviews, privacy policies, and social media content related to software products. Furthermore, the recent diffusion of game-changing natural language processing (NLP) techniques and platforms has also boosted the interest of RE researchers. However, a reference framework to provide a holistic understanding of the field of NLP for RE is currently missing.

Based on the results of a recent systematic mapping study, and stemming from a previous ICSE tutorial by one of the authors, this technical briefing gives an overview of NLP for RE tasks, available techniques, supporting tools and NLP technologies. Part of the talk will present the concept of transfer learning, the BERT language model, and how can this be used in RE. The technical briefing is oriented to both researchers and practitioners, and will gently guide the audience towards a clearer view of how NLP can empower RE, providing pointers to representative works and specialised tools.

Alessio Ferrari is research scientist at CNR-ISTI (Consiglio Nazionale delle Ricerche - Istituto di Scienza e Tecnologia dell'Informazione was ``A. Faedo'', Pisa, Italy - http://www.isti.cnr.it), where he works since 2011. He received his Ph. D. in Computer Engineering from the University of Florence, Italy, in 2011. His current research interests are applications of NLP techniques to RE, requirements elicitation, and RE teaching. In particular, his main focus is natural language ambiguity detection and mistakes identification in requirements elicitation interviews and requirements documents. Ferrari participated in several European Projects, including Learn PAd, ASTRail, and DESIRA. He is author of more than 70 papers in relevant conferences (RE, ICSE) and journals (REJ, EMSE, IEEE Software). He served in the PC of ICSE, IEEE RE, REFSQ, he has been co-organiser of two editions of the NLP4RE workshop, and local organiser of REFSQ 2020.




Liping Zhao is Associate Professor in the Department of Computer Science, the University of Manchester. Her current research focuses on using NLP and machine learning to support RE. From 2004 to 2014 she had been in collaboration with IBM on Pattern Language for the Design and Development E-business Applications and received three IBM Faculty Awards (2004, 2005, and 2008) for her contributions. From 2007 to 2012, she co-founded and led a multidisciplinary academic network in the UK on service science (SSMEnetUK), funded by the UK Research Council, BT, HP, and IBM. She is an Associate Editor for Requirements Engineering (Springer) and Expert Systems (Wiley). She has served on numerous conferences and workshops, and has been co-organiser of IEEE International Workshops on Requirements Patterns, co-located with RE Conference (from 2012 to 2016) and International Workshop on Advances and Applications of Problem Orientation (IWAAPO), co-located with ICSE (2010).




Waad Alhoshan is an Assistant Professor in the Department of Computer Science, IMSIU. She received her PhD degree in Computer Science in 2020 from the University of Manchester, where she studied corpus-based and language modeling techniques to investigate approaches for detecting semantic relationships between software requirements. During her PhD, Waad published several papers in peer-reviewed conferences such as LREC, RE and ESEM. Currently, she is cooperating on multiple research projects on designing NLP-based systems to support software in Arabic and English languages. One of these projects is a collaboration project between IMSIU and the Saudi Authority for Intellectual Property (SAIP) to design AI-driven systems for processing legal documents.


The Software Challenges of Building SmartChatbots

Time: Thursday, May 27, 15:15 CEST (135 minutes)

Gwendal Daniel, Jordi Cabot

Universitat Oberta de Catalunya, Internet Interdisciplinary Institute

Chatbots are popular solutions assisting humans in multiple fields, such as customer support or e-learning. However, building such applications has become a complex task requiring a high-level of expertise in a variety of technical domains. Chatbots need to integrate (AI-based) NLU components, but also connect to internal/external services, deploy on various platforms, etc.

The briefing will first cover the current landscape of chatbot frameworks. Then, we’ll get our hands dirty and create a few bots of increasing difficulty playing with aspects like entity recognition, sentiment analysis, event processing, or testing. By the end of the session, attendees will have all the keys to understand the main steps and obstacles to building a good chatbot.

Gwendal Daniel is a post-doctoral fellow in the SOM Research Lab at Internet Interdisciplinary Institute (IN3), a research center of the Universitat Oberta de Catalunya (UOC). He received his PhD degree in 2017 in the AtlanMod Team, at the Ecole des Mines de Nantes, France. He received the best thesis award from the GDR-GPL and the INFORSID association in 2018. His current research focuses on applying model-based techniques for chatbot development. He is the co-founder and CTO of Xatkit, an open-source, model-driven, chatbot development framework.







Jordi Cabot received the B.Sc. and Ph.D. degrees in computer science from the Technical University of Catalonia. He was a Leader of an INRIA and LINA Research Group at Ecole des Mines de Nantes, France, a Post-Doctoral Fellow with the University of Toronto, a Senior Lecturer with the Open University of Catalonia, and a Visiting Scholar with the Politecnico di Milano. He is currently an ICREA Research Professor at Internet Interdisciplinary Institute. His research interests include software and systems modeling, formal verification and the role AI can play in software development (and vice versa). He has published over 200 peer-reviewed conference and journal papers on these topics. Apart from his scientific publications, he writes and blogs about all these topics in several sites like modeling-languages.com and livablesoftware.com. He is also the co-founder and CEO of Xatkit, an open-source chatbot development framework.





Advances in Code Summarization

Time: Friday, May 28, 11:15 CEST (110 minutes)

Utkarsh Desai, Giriprasad Sridhara, Srikanth Tamilselvam

IBM Research

Several studies have suggested that comments describing the code can help mitigate the burden of program understanding. However, software systems usually lack adequate comments and even when present, the comments may be obsolete or unhelpful. Researchers have addressed this issue by automatically generating comments from source code, a task referred to as Code Summarization. In this technical presentation, we take a deeper look at some of the significant, recent works in the area of code summarization and how each of them attempts to take a new perspective of this task including methods leveraging RNNs, Transformers, Graph representation learning and Reinforcement learning. We present a background of the techniques involved and how they are leveraged to solve the problem of code summarization. We review individual methods in detail, highlight their strengths and weaknesses and discuss future avenues for this task.

Utkarsh Desai is a member of the Application Modernization team at IBM Research, India. His present work is aimed at building AI powered solutions for automated refactoring of monolith applications into microservices. His research is focused on developing source code understanding models using current advances in Deep Learning to solve problems in Code Summarization, Code Search and Application refactoring. He has also worked on Time-Series modeling, Large-scale Recommendation Systems and Text Mining systems for Social media data in the past. He completed his Masters in Intelligent Systems from The University of Texas at Dallas in 2009.






Dr. Giriprasad Sridhara is a member of the application modernization team at IBM Research Labs, India. He was among the first to address the problem of code summarization in his doctoral dissertation “Automatic Generation of Descriptive Summary Comments for Methods in Object-Oriented Programs”. He completed his Ph.D. in Computer Science from the University of Delaware, USA. His research interests span Software Engineering, Program Analysis, Machine Learning and Natural Language Processing. He has more than 20 publications in leading international conferences across the different areas. Currently, he is working on a variety of software engineering problems in the field of application modernization.






Srikanth Tamilselvam leads the application modernization research mission from India Research Labs. In this role, he is responsible for developing innovations that help IBM’s clients to effectively transition to Hybrid Cloud via refactoring. Srikanth joined IBM in 2007 and throughout his career, Srikanth has taken up challenges that aim to improve productivity of developers. His works have also been accepted in top conferences like AAAI, WWW, IJCAI, ICSOC etc. He owns 60+ US patents. For his contributions to IBM target patent portfolio, Srikanth is also recognised as a Master Inventor. Srikanth holds a master’s degree in computer science & Technology from Mysore University. His research interests include applications of Machine Learning, Natural Language Processing and HCI. Recently, his research focus is in applying AI on code-based tasks specifically code refactoring, clustering, summarisation and code search. Srikanth also regularly conducts workshops and tutorials on topics like Machine Learning, Introduction to Deep Learning, DevOps.