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: Alberto Martín López

Date: April 25, 2024 @ 16:30
Location: D1.13
Chair: Hassan Atwi
Neuro-Symbolic AI for Developing, Testing and Consuming Web APIs: An AMBIZIONE Project Proposal

Neuro-symbolic artificial intelligence (NSAI) combines neural (e.g., large language models) and symbolic (e.g., constraint satisfaction problem engines) techniques to solve problems that cannot be tackled by any of these techniques in isolation. Notable examples of NSAI-based systems are AlphaGeometry (by Google DeepMind), which can solve mathematical problems with similar performance as gold medallists of the International Mathematical Olympiad, and Flash Fill++ (by Microsoft), a feature in Excel spreadsheets that autocompletes cells based on the surrounding ones. In this talk, I will hint how NSAI can be applied to other domains, and I will focus on a specific scenario: Supporting the lifecycle of web APIs, that is, their development, testing and consumption. We all use web APIs every day (when we post a tweet, order food online, book a flight, watch a movie, etc.), and they are the cornerstone of software integration, as they interconnect millions of applications coming from heterogeneous sources, all of which depend on APIs. As such, supporting their development and well-functioning is of utmost importance. This talk will also serve as a rehearsal for an interview for an AMBIZIONE grant, for which this project is currently under evaluation.

Biography

Alberto Martín López is currently a postdoctoral researcher in the SEART group at the Software Institute, USI, Lugano. He obtained his PhD at the University of Seville (Spain) in 2022. He carried out research stays at the University of California, Berkeley, where he was a Fulbright Fellow, and at Kristiania University College (Norway), where he also held a lecturer position. His main field of expertise is the automated testing of web services. His work in this area has been recognized with multiple awards, including the Best PhD Thesis Award by SISTEDES (Spanish Society of Software Engineering), the Early Career Researcher Award by SCIE (Spanish Society of Computer Science) and BBVA Foundation, an ACM Distinguished Paper Award at ESEC/FSE’22, and the Gold Medal in the ACM Student Research Competition at ICSE’20, sponsored by Microsoft. Nowadays, his research interests focus on software testing, service-oriented computing, and the application of artificial intelligence and neuro-symbolic techniques to software-related tasks. To know more about Alberto, you can visit his personal website: https://personal.us.es/amarlop.

Program

Archive

  • Alessandro Giagnorio - Customizing deep learning models for code completion tasks (April 11, 2024)
  • Francesco Bresciani - Abusing GitLab CI/CD to build a data engineering pipeline (March 14, 2024)
  • Andréa Doreste - Adversarial Testing with Reinforcement Learning: A Case Study on Autonomous Driving (March 7, 2024)
  • Carlo Ghezzi - Rethinking software engineering research and education in the light of digital humanism (February 29, 2024)
  • Diana Carolina Muñoz Hurtado - Exploring Security Practices in OpenAPIs (December 7, 2023)
  • Carmen Armenti - Data Sonification - A Survey (November 30, 2023)
  • Mauricio Aniche - Effective developer testing: lessons I learned over time (November 23, 2023)
  • Antonio Mastropaolo - Evaluating Code Summarization Techniques: A New Metric and an Empirical Characterization (November 16, 2023)
  • Michele Lanza - Bibliometrics, the Great Beyond of Science? (November 9, 2023)
  • Carlo Alberto Furia - Don't Jam the LHC: A causal analysis of Code Jam data (October 26, 2023)
  • Rosalia Tufano - Code Review Automation: Strengths and Weaknesses of the State of the Art (October 12, 2023)
  • Agnese Zamboni, Matthias Hauswirth - 'Program Your Own Castle' - Developing a Self-Guided Tutorial for the Hour of Code (October 5, 2023)
  • Roberto Pietrantuono (University of Naples 'Federico II') - Causal reasoning for software quality engineering (June 15, 2023)
  • 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)