Artificial Intelligence and Software Engineering

Interested in attending the course? Please register here.

Lecture 1 (first part): Software Engineering for ML/AI

When: 27/4, 15:00 - 16:00

Abstract: ML and AI are increasingly dominating the high-tech industry. Organizations and technology companies are leveraging their big data to create new products or improve their processes to reach the next level in their market. However, ML and AI are not a silver bullet and Software 2.0 is not the end of software developers or software engineering. In this lecture I will introduce the course and I will argument on how software engineering can help ML and AI to become the key technology for (autonomous) systems of the near future. Software engineering best practices and achievements reached in the last decades might help, e.g., (i) democratising the use of ML/AI, (ii) composing, reusing, chaining ML/AI models to solve more complex problems, and (iii) supporting for reasoning about correctness, repeatability, explainability, traceability, fairness, ethics, while building an ML/AI pipeline.

Teacher: Patrizio Pelliccione is a Full Professor at Gran Sasso Science Institute (GSSI) and an Associate Professor at the Department of Computer Science and Engineering at Chalmers | University of Gothenburg. He got his Ph.D. in 2005 at the University of L’Aquila (Italy) and from February 1, 2014, he is Docent in Software Engineering, a title given by the University of Gothenburg. His research topics are mainly in software engineering, software architecture modeling and verification, autonomous systems, and formal methods. He has co-authored more than 150 publications in journals and international conferences and workshops on these topics. He has been on the organization and program committees for several top conferences and he is a reviewer for top journals in the software engineering domain. He is very active in European and National projects. In his research activity, he has collaborated with several companies. More information is available at http://www.patriziopelliccione.com.

Slides of the lecture: drive.google.com/file/d/1f2JZEzPhB3LM9dGSPud54tB32DtaPp1i/view?usp=sharing

Lecture 1 (second part): Developing recommendation systems to support open-source software developers: challenges and lessons learned

When: 27/4, 16:00 - 17:00


Abstract: Open-source software (OSS) forges contain rich data sources useful for supporting development activities. Several techniques and tools have been promoted to provide open source developers with innovative features, aiming to obtain improvements in development effort, cost savings, and developer productivity. In the context of the EU H2020 CROSSMINER project, different recommendation systems have been conceived to assist software programmers in different phases of the development process by providing them with various artifacts, such as third-party libraries, or documentation about how to use the APIs being adopted, or relevant API function calls. To develop such recommendations, various technical choices have been made to overcome issues related to several aspects, including the lack of baselines, limited data availability, decisions about the performance measures, and evaluation approaches. This lecture provides an introduction to Recommendation Systems in Software Engineering (RSSE) and describes the challenges that have been encountered in the context of the CROSSMINER project. Specific attention is devoted to present the intricacies related to the development and evaluation techniques that have been employed to conceive and evaluate the CROSSMINER recommendation systems. The lessons that have been learned while working on the project are also discussed.


Teacher: Davide Di Ruscio is an Associate Professor at the Department of Information Engineering Computer Science and Mathematics of the Univ. of L'Aquila. His main research interests are related to several aspects of Software Engineering and Model-Driven Engineering, including domain-specific modelling languages, model evolution, low-code development, and recommendation systems. He has published more than 150 papers in international journals and conference proceedings on such topics. He has been in the PC and involved in several international events and reviewer of top journals, including IEEE Transactions on Software Engineering, ACM Transactions on Software Engineering and Methodology, Empirical Software Engineering Journal, Software and Systems Modeling, and J. of Systems and Software. Davide is on the editorial boards of the International Journal on Software and Systems Modeling (SoSyM), of IEEE Software, of the Journal of Object Technology, and of the IET Software journal. Since 2006 Davide has been working on national and international research projects, contributing to the application of MDE techniques and tools in various application domains, including service-based software systems, autonomous systems, mining of open-source systems, and modeling hybrid polystore systems. Davide has been the technical and scientific coordinator of the EU H2020 CROSSMINER project and principal investigator for the University of L'Aquila of the EU H2020 TYPHON project. (http://people.disim.univaq.it/diruscio/)

Slides of the lecture: https://www.slideshare.net/DavideRuscio/developing-recommendation-systems-to-support-open-source-software-developers-challenges-and-lessons-learned

Lecture 2: Lessons Learned in Designing AI for Autistic Adults

When: 28/4, 16:30 - 18:30


Abstract: Through an iterative design process using Wizard of Oz (WOz) prototypes, we designed a video calling application for people with Autism Spectrum Disorder. Our Video Calling for Autism prototype provided an Expressiveness Mirror that gave feedback to autistic people on how their facial expressions might be interpreted by their neurotypical conversation partners. This feedback was in the form of emojis representing six emotions and a bar indicating the amount of overall expressiveness demonstrated by the user. However, when we built a working prototype and conducted a user study with autistic participants, their negative feedback caused us to reconsider how our design process led to a prototype that they did not find useful. We reflect on the design challenges around developing AI technology for an autistic user population, how Wizard of Oz prototypes can be overly optimistic in representing AI-driven prototypes, how autistic research participants can respond differently to user experience prototypes of varying fidelity, and how designing for people with diverse abilities needs to include that population in the development process.


Teacher: Andrew Begel is a Principal Researcher in the Ability group at Microsoft Research in Redmond, WA, USA, and has worked at Microsoft Research since 2006. He received his PhD in Computer Science from the University of California, Berkeley in 2005, and his Master of Engineering and Bachelor of Science degrees from MIT in Cambridge, MA in 1996 and 1997. Andrew’s research focuses on the use of AI and HCI to increase the accessibility of technology for those with cognitive and vision disabilities. He also studies the communication and collaboration effectiveness of software engineers in collocated and distributed development. His most recent work has been to study and help people on the autism spectrum obtain employment and facilitate social interaction, to help blind software developers collaborate with their sighted colleagues, and to use affective computing and biometrics (including eye tracking) to better understand how software developers do their work. During most of his time at Microsoft, his research has focused on human aspects of software engineering, exploring evolving job roles in the software industry, and the growing impact of AI technologies on software engineering practices. Andrew is a Distinguished Member of the ACM.


Slides of the lecture: https://www.dropbox.com/s/xa9f2njrmkmw1af/GSSI%20AI%20for%20Autism.pptx?dl=0

Further information:

  1. Andrew Begel, James Dominic, Conner Phillis, Thomas Beeson, and Paige Rodeghero. How a Remote Video Game Coding Camp Improved Autistic College Students’ Self-Efficacy in Communication. In the Proceedings of the 52nd Technical Symposium on Computer Science Education, Canada (Online). March 2021. Best Paper Award.

  2. Andrew Begel, John Tang, Sean Andrist, Mike Barnett, Tony Carbary, Piali Choudhury, Ed Cutrell, Alberto Fung, Sasa Junuzovic, Daniel McDuff, Kael Rowan, Shibashankar Sahoo, Jennifer Frances Waldern, Jessica Wolk, Hui Zheng, and Annuska Zolyomi. Lessons Learned in Designing AI for Autistic Adults. In the Proceedings of the 22nd International ACM SIGACCESS Conference on Computers and Accessibility. Athens, Greece (Online). October 2020.

  3. Annuska Zolyomi, Andrew Begel, Jennifer Frances Waldern, John Tang, Mike Barnett, Edward Cutrell, Daniel McDuff, Sean Andrist, and Meredith Ringel Morris. Managing Stress: The Needs of Autistic Adults in Video Conferencing. In the Proceedings of the ACM 2019 Conference on Computer Supported Cooperative Work. Austin, Texas, USA. November 2019. Best Paper Honorable Mention Award

  4. Meredith Ringel Morris, Andrew Begel, and Ben Wiedermann. Understanding the Challenges Faced by Neurodiverse Software Engineering Employees: Towards a More Inclusive and Productive Technical Workforce. In the Proceedings of the 17th International ACM SIGACCESS Conference on Computers and Accessibility. Lisbon, Portugal. October, 2015. Best Paper Award.


Lecture 3: AI Engineering - Meeting New Challenges in Software Development of AI-based Systems


When: 30/4, 10:00 – 12:00


Abstract: Artificial Intelligence based on Machine Learning is today the fastest growing trend in software development, and literally used in all other research disciplines, with a very high impact on the modern society. However, a wide use of AI in many systems, in particular dependable systems, is still far away. The challenges for managing AI-based complex and dependable systems through the entire lifecycle are enormous. Some aspects of these challenges are based on management of resources, including computational, data storage capacity. Others are related to dependability itself, as the AI has by its nature a probabilistic approach, and dependable systems require justifiable quality assurance. The third type of challenges is related to the development process itself – software development is different from development of AI models. This lecture discusses some of these challenges, illustrate a case of Cyber-physical systems, and gives some ideas for new research in software engineering for AI development, i.e. for AI engineering. Additionally, an approach that addresses some of these challenges, developed in practice, will be presented.


Teacher: Ivica Crnkovic is a professor of software engineering at Chalmers University, Gothenburg, Sweden. He is the director of Chalmers AI Research Centre (CHAIR). His research interests include, software architecture, software development processes, software engineering for large complex systems, component-based software engineering, and recently Software engineering for AI. Professor Crnkovic is the author of more than 200 refereed publications on software engineering topics, and guest editor of a number of special issues in different journals and magazines, such as IEEE Software, and Elsevier JSS . He was the general chair of 40th International Conference on Software Engineering (ICSE) 2018, held in Gothenburg, 2018. Before Chalmers, Ivica Crnkovic was affiliated with Mälardalen University, Sweden, and before that he was employed at ABB company, Sweden, where he was responsible for software development environments and tools.


Slides of the lecture: https://drive.google.com/file/d/1pKmG2h1rXA9_ryjA6kvLhYhUFm2jUIge/view?usp=sharing

Lecture 4: Explainable Machine Learning for Trustworthy AI


When: 06/05, 11:00-13:00


Abstract: Black box AI systems for automated decision making, often based on machine learning over (big) data, map a user’s features into a class or a score without exposing the reasons why. This is problematic not only for the lack of transparency, but also for possible biases inherited by the algorithms from human prejudices and collection artifacts hidden in the training data, which may lead to unfair or wrong decisions. The future of AI lies in enabling people to collaborate with machines to solve complex problems. Like any efficient collaboration, this requires good communication, trust, clarity and understanding. Explainable AI addresses such challenges and for years different AI communities have studied such topic, leading to different definitions, evaluation protocols, motivations, and results. This lecture provides a reasoned introduction to the work of Explainable AI (XAI) to date, and surveys the literature with a focus on machine learning and symbolic AI related approaches. We motivate the needs of XAI in real-world and large-scale application, while presenting state-of-the-art techniques and best practices, as well as discussing the many open challenges.


Teacher: Fosca Giannotti is a director of research of computer science at the Information Science and Technology Institute “A. Faedo” of the National Research Council, Pisa, Italy. Fosca Giannotti is a pioneering scientist in mobility data mining, social network analysis and privacy-preserving data mining. Fosca leads the Pisa KDD Lab - Knowledge Discovery and Data Mining Laboratory http://kdd.isti.cnr.it, a joint research initiative of the University of Pisa and ISTI-CNR, founded in 1994 as one of the earliest research lab centered on data mining. Fosca's research focus is on social mining from big data: smart cities, human dynamics, social and economic networks, ethics and trust, diffusion of innovations. She has coordinated tens of European projects and industrial collaborations. Fosca is currently the coordinator of SoBigData, the European research infrastructure on Big Data Analytics and Social Mining http://www.sobigdata.eu​, an ecosystem of ten cutting edge European research centres providing an open platform for interdisciplinary data science and data-driven innovation. Recently she is the PI of ERC Advanced Grant entitled XAI – Science and technology for the explanation of AI decision making. She is member of the steering board of CINI-AIIS lab. On March 8, 2019 she has been featured as one of the 19 Inspiring women in AI, BigData, Data Science, Machine Learning by KDnuggets.com, the leading site on AI, Data Mining and Machine Learning.


Slides of the lecture: https://drive.google.com/file/d/1NmXTPUwpUg6IFriQWn4dczxNzSeFg9kR/view?usp=sharing