Software Institute | The website of the Software Institute, a center of excellence committed to the teaching, the research and the development of software. The SI is part of the Università della Svizzera italiana (USI).

Seminars

In February 2019, the Software Institute started its SI Seminar Series. Every Thursday afternoon, a researcher of the Institute will publicly give a short talk on a software engineering argument of her choice. Examples include, but are not limited to, novel interesting papers, seminal papers, personal research overview, discussion of preliminary research ideas, tutorials, and small experiments.

On our YouTube playlist you can watch some of the past seminars. Below you can find more details on the next seminar, the upcoming seminars, and an archive of the past speakers.

Everyone is welcome to attend the seminars organized by the Software Institute.

Next Speaker: Roberto Pietrantuono (University of Naples 'Federico II')

Date: June 15, 2023 @ 16:30
Location: D0.03
Causal reasoning for software quality engineering

Software engineering is a brain-intensive creative activity involving complex inter-dependent tasks to build and ensure the quality of software products. The boost of machine learning (ML) fostered a human-machine co-design view to develop highly dependable systems: machines, with their computational power, can largely boost the human ability of searching for interesting patterns in the big data universe, thus supporting several software engineering tasks especially aimed at fault avoidance (e.g., via testing), fault removal (e.g., debugging), fault tolerance and prediction.
However, while recognizing patterns in past data is a fundamental human ability for decision making, well supported by ML, engineers do much more when building a system. They tend to infer cause-effect relationships among the involved variables, and, based on that, derive explanations, infer hypotheses and simulate possible actions, to then support decisions – in other words, they reason on what have learnt. In this seminar, I share initial reflections about the need of better supporting the engineer’s reasoning activity. A few applications of causal discovery and causal inference techniques to quality-related tasks are discussed, as a glimpse of a new view of human-machine cooperation where machine can support and amplify human reasoning with the power of computation.

Biography

Roberto Pietrantuono is Associate Professor at University of Naples “Federico II”, working in the Dependable Systems and Software Engineering Research Team (DESSERT). His research interests are in the areas of software engineering, particularly, software (and AI systems) testing, software quality assurance, software reliability engineering. He has co-authored about 100 papers in these research areas. He co-founded Critiware (www.critiware.com), a company working in critical systems engineering. He is senior member of IEEE.

Program

Archive

  • Vincenzo Orrei - Contribution-based Firing of Developers? (May 25, 2023)
  • Patric Genfer, University of Vienna - On the Understandability of Security Tactics for Microservice APIs (May 16, 2023)
  • Marco Paganoni - ByteBack: Deductive Functional Verification of Bytecode programs (May 11, 2023)
  • Marco Raglianti - Research Code as Infrastructure (RCaI) (May 4, 2023)
  • Souhaila Serbout - What about Web APIs versioning? (April 27, 2023)
  • Paolo Tonella - Mind, consciousness and ChatGPT: can ChatGPT impute unobservable mental states to others? (April 6, 2023)
  • Alberto Bacchelli (University of Zurich) - Exploring the Dual Nature of Code Review: Implications for Investigative Methods and Tool Development (March 30, 2023)
  • Gabriele Bavota - On Reviewers' Regrets and Negative Results (March 23, 2023)
  • Magnus O. Myreen (Chalmers University of Technology, Gothenburg, Sweden) - The CakeML Project: Chasing End-to-End Correctness, Verified Compilation and Applications (March 16, 2023)
  • Luca Chiodini - Teaching problem decomposition with graphics (March 9, 2023)
  • Dimi Racordon (Northeastern University, Boston, USA) - The bright future between immutability and aliasing restrictions (March 2, 2023)
  • Hassan Atwi - Toward Decentralized Process Execution (December 1, 2022)
  • Sajad Mazraehkhatiri - Testing Drones in Simulation: Let's Be Realistic! (November 24, 2022)
  • Csaba Nagy - Perils and Pitfalls of the Application-Database Gap (November 17, 2022)
  • Marco D'Ambros - CodeLounge: a roller-coaster ride (November 10, 2022)
  • Matteo Biagiola - Reinforcement Learning for Software Testing (November 3, 2022)
  • Matthias Hauswirth - Pitfalls in Teaching Programming (October 20, 2022)
  • Davide Paolo Tua - An ECS Primer (October 13, 2022)
  • Nargiz Humbatova - DeepCrime: Mutation Testing of Deep Learning Systems Based on Real Faults (October 6, 2022)
  • Mohammad Rezaalipour - FauxPy: A Fault Localization Tool for Python Programs (September 29, 2022)
  • Crista Lopes - Exercises in Programming Style (September 9, 2022)
  • Michele Tufano - Unit Test Case Generation with Transformers and Focal Context (June 20, 2022)
  • Valerie Burgener - React 101 (May 19, 2022)
  • Diego Venâncio Marcílio - Towards Untangling Java Exceptions (May 12, 2022)
  • Bin Lin - Academic Job Search: An Experience Report (April 28, 2022)
  • Michael Weiss - Uncertainty-Wizard: Fast and User-Friendly Neural Network Uncertainty Quantification (April 7, 2022)
  • Matteo Ciniselli - On automatically generating source code (March 31, 2022)
  • Aron Fiechter - Creating a Domain Specific Language in Kotlin Using Type-Safe Builders (March 24, 2022)
  • Emad Aghajani - 5 Years of Research: Lessons Learned (March 17, 2022)
  • Andrea Stocco - Testing and Evaluation of Autonomous Driving Systems: From Simulated to Real-world Test Environments (March 10, 2022)
  • Luca Pascarella - Fine-Grained Code Summarization (March 3, 2022)
  • Alessio Merlo (University of Genova) - Mobile Apps: The Dark Side of the Droid (December 6, 2021)
  • Vincenzo Riccio - Automated Test Input Generation to Check if the Machine Actually Learned (December 2, 2021)
  • Jesper Findahl - What’s Up With the CodeLoungers?
    AKA what are CodeLoungers doing all day
    (November 25, 2021)
  • Carlo Alberto Furia - When does correlation imply causation? (November 18, 2021)
  • Antonio Mastropaolo - Supporting code-related tasks via Deep-Learning (November 11, 2021)
  • Andrea Gallidabino - Do you understand the code you write? 'I hope the TAs won't look at this!' (November 4, 2021)
  • Igor Moreno Santos - Towards sound notional machines: a Lambda Calculus crash course (October 28, 2021)
  • Gunel Jahangirova - Quality Metrics and Oracles for Autonomous Vehicles Testing (October 21, 2021)
  • Marco Raglianti - Visualizing Discord Servers - definitely not a virtual conference video replay (October 14, 2021)
  • Anthony Cleve - Analyzing and Supporting the Evolution of Data-Intensive Systems (October 7, 2021)
  • Bhargav Bhatt - Datalog Synthesis and Repair (September 30, 2021)
  • Cesare Pautasso - Presentations as Code (May 20, 2021)
  • Andrea Mocci - How does CodeLounge develop? (April 29, 2021)
  • Michele Lanza - History is not a burden on the (computer) memory but an illumination of the (software engineering researcher's) soul (April 15, 2021)
  • Gabriele Bavota - On Lessons Learned while Replicating my Own Research (December 10, 2020)
  • Matthias Hauswirth - Rainfall and LuCE: The Difficulty of Learning to Program (December 3, 2020)
  • Nargiz Humbatova - Mutation Testing of Deep Learning Systems (November 26, 2020)
  • Alejandro Mazuera Rozo - Investigating types and survivability of performance bugs in mobile apps (November 19, 2020)
  • Matteo Biagiola - Testing the plasticity of reinforcement learning based systems (November 12, 2020)
  • Csaba Nagy - Analyzing SQL Queries Embedded in the Source Code (November 5, 2020)
  • Mohammad Rezaalipour - Deep Neural Network Bugs and the Challenges of Repairing Them (October 29, 2020)
  • Luca Pascarella - Augmented Fine-Grained Defect Prediction for Code-Review (October 22, 2020)
  • Diego Venâncio Marcílio - SpongeBugs: Automatically Fixing Static Analysis Tools Violations (October 15, 2020)
  • Michael Weiss - Detecting Uncertainty in Deep Learning (February 27, 2020)
  • Christoph Treude - Uncovering the best parts of software documentation (January 28, 2020)
  • Bhargav Bhatt - DroidPLUMB: Repairing Resource-Leak bugs with Static Analysis (December 5, 2019)
  • Jesper Findahl - TypeScript - what is that and why should I care? (November 28, 2019)
  • Francesco Magagnino - Envisioning the future of the customer interaction (November 21, 2019)
  • Armin Heinzl - How Pair Programming Influences Team Performance: The Role of backup-behavior, shared mental models, and task novelty (November 7, 2019)
  • Davide Paolo Tua - Time Evolving Voronoi Treemaps for Metrics Visualization (October 31, 2019)
  • Bin Lin - Program Comprehension at ICSME 2019 (October 24, 2019)
  • Ana Ivanchikj - Discovering Imgur API – Controlled Experiment (October 17, 2019)
  • Marco D'Ambros - Dashboarding your inbox for fun and profit (October 3, 2019)
  • Emad Aghajani - Software Documentation: How far we've come, and challenges ahead (September 26, 2019)
  • Andrea Stocco - Black-box Confidence Estimation for Misbehavior Prediction in Autonomous Driving Systems (September 19, 2019)
  • Jacopo Tagliabue - Less (Data) Is More: Why Small Data Holds the Key to the Future of Artificial Intelligence (June 24, 2019)
  • David Clark - The Theory of Testing Programs - An Information Theoretic View (June 19, 2019)
  • Jan Vitek - Getting everything wrong without doing anything right! (June 13, 2019)
  • Hridesh Rajan - Software as Data (June 12, 2019)
  • Alejandro Mazuera Rozo - SOFIA: An Automated Security Oracle for Black-Box Testing of SQL-Injection Vulnerabilities (May 23, 2019)
  • Jevgenija Pantiuchina - On the Naturalness of Buggy Code (May 16, 2019)
  • Richard Torkar - Why do we encourage even more missingness when having missing data? (May 9, 2019)
  • Fengcai Wen - Neural-Machine-Translation-Based Commit Message Generation: How Far Are We? (May 2, 2019)
  • Vincenzo Riccio - A Day in the (Activity) Lifecycle (April 18, 2019)
  • Luis Mastrangelo - Casting about in the Dark (April 11, 2019)
  • Gunel Jahangirova - Mutation Testing of Deep Learning Systems (April 4, 2019)
  • Andrea Mocci - The Tale of 'Quattro Tabelle' (March 28, 2019)
  • Carlo Alberto Furia - Why You Should Use Bayesian Statistics for Empirical Software Engineering (March 7, 2019)
  • Csaba Nagy - Beauty and the Beast: True Stories of Evolving Software Systems (February 28, 2019)
  • Andrea Gallidabino - Liquid Software: Multi-Device Adaptation with Liquid Media Queries (February 21, 2019)