Welcome to the web site of the Sape research group at the Faculty of Informatics of the University of Lugano. Our group is interested in the areas of computer science education, programming languages, runtime systems, and software engineering, with a focus on the efficiency of software, its users, and its developers.
Explore our Publications and Tools to find out more about our work, and check out the list of our Group Members.
Open Positions
Are you an excellent student interested in doing a PhD or a post-doc in the areas of computer science education, programming languages, and software engineering?
In that case, you may first want to read our view on what it takes to get a PhD in our group and then check out our publications.
Meeting Us
If you are interested in our research, and if you are in Switzerland or the Milan area, contact us, and we can meet up. You can also meet us at the following events:
- Dagstuhl Seminar on "Evidence About Programmers for Programming Language Design", Dagstuhl, Germany, February 4-9, 2018
- Koli Calling'17 conference, Koli, Finland, November 16-19, 2017
Talk by Matthias on "The program is the system: introduction to programming without abstraction"
Talk by Matthias on "Metacognitive calibration when learning to program"
- SPLASH'17 conference, Vancouver, BC, Canada, October 22-27, 2017
PLATEAU talk by Mohammad on "Lost in Space and Time? Quantifying the Size of Unit Test Execution Histories"
CoCoS talk by Mohammad on "How Did the Failure Come to Be?"
PX/17.2 talk by Matthias on "The Entangled Strands of Time in Software Development"
Panel participation by Matthias with Mary Shaw, Crista Lopes, Philippe Kruchten, Robert Biddle, on "How can our publication models best serve our research?"
- IFIP WG 2.4 Meeting, Burlington, VT, USA, October 15-20, 2017
- EC-TEL'17 conference, Tallinn, Estonia, September 12-15, 2017
Talk by Matthias on "Identifying Misconceptions with Active Recall in a Blended Learning System"
- VISSOFT'17 conference, Shanghai, China, September 18-19, 2017
Talk by Mohammad on "Concept-Driven Generation of Intuitive Explanations of Program Execution for a Visual Tutor"
- IFIP WG 2.16 Meeting, Park City, Utah, USA, August 28 - September 1, 2017
- ICPC'17 conference, Buenos Aires, Argentina, May 22-23, 2017
Talk by Mohammad on "Language-independent information flow tracking engine for program comprehension tools"
- ICST'17 conference, Tokyo, Japan, March 13-17, 2017
Paper on "Perphecy: Performance Regression Test Selection Made Simple but Effective"
- IFIP WG 2.4 Meeting, Dresden, Germany, December 11-16, 2016
- SPLASH'16 conference, Amsterdam, NL, October 30-November 4, 2016
Matthias Co-Chairing SPLASH-E
- Trans-Atlantic Workshop on Innovating Pedagogy and Cyberlearning, before EC-TEL, Lyon, France, September 12, 2016
Matthias Co-Chairing
- IFIP WG 2.4 Meeting, Victoria, Canada, April 3-8, 2016
- Dagstuhl Seminar on "Rethinking Experimental Methods in Computing", Dagstuhl, Germany, March 13-18, 2016
- Cyberlearning'16 conference, Washington DC, USA, January 25-26, 2016 (conference postponed due to blizzard)
- Dagstuhl Perspectives Workshop on "Artifact Evaluation for Publications", Dagstuhl, Germany, November 1-4, 2015
- SPLASH'15 conference, Pittsburgh, PA, USA, October 26-30, 2015
OOPSLA talk by Luis on "Use at Your Own Risk: The Java Unsafe API in the Wild"
GPCE talk by Dmitri on "CLOP: A multi-stage compiler to seamlessly embed heterogeneous code"
WODA talk by Mohammad on "SQL for Deep Dynamic Analysis"
WODA talk by Mohammad on "Infection Size as a Measure of Bug Severity"
- PPPJ'15 conference, Melbourne, FL, USA, September 8-10, 2015
Talk by Mohammad on "BLAST: Bytecode-Level Analysis on Sliced Traces"
- SRI International, Menlo Park, USA, Matthias on Sabbatical (summer 2015 - summer 2016)
- PLDI'15, Portland, OR, USA, June 13-17
- PLDI'15 PC Meeting, IBM Learning Center, Armonk, NY, USA, January 30-31, 2015
- IBM T. J. Watson Research Center, Yorktown Heights, NY, USA, January 29, 2015
Talk by Matthias on "Algorithmic Profiling"
- Brown University, Providence, RI, USA, January 28, 2015
Talk by Matthias on "Beyond Lectures"
- MIT Media Lab, Boston, MA, USA, January 26, 2015
Matthias visiting Leo Burd and Philipp Schmidt
- SRI International, Center for Technology in Learning, Menlo Park, CA, USA, October 24, 2014
Talk by Matthias "Using Visual Representations for Teaching and Learning"
- SPLASH/OOPSLA'14 conference, October 20-24, 2014
Talk by Matthias (standing in for Mohammad, who's visa did not arrive in time) on "Mobile vs. Desktop Programming Projects: The Effect on Students"
Matthias co-chairing OOPSLA AEC
Matthias on PLATEAU workshop PC
Matthias on PROMOTO workshop PC
- PPPJ'14 conference, Cracow, Poland, September 23-16, 2014
Talk by Luis on "JNIF: Java Native Instrumentation Framework"
- ECOOP'14 doctoral symposium, Uppsala, Sweden, July 28, 2014
Talk by Dmitri on CLOP
- ITiCSE'14, Uppsala, Sweden, June 23-15, 2014
Participation by Matthias in Working Group on "Methodology and Technology for In-Flow Peer Review"
- OOPSLA'14 PC Meeting, UCLA, Los Angeles, USA, May 15/16, 2014
- IFIP WG 2.4 Meeting, Asilomar, USA, February 2-7, 2014
- SPLASH/OOPSLA'13 conference, Indianapolis, IN, USA, October 26-31, 2013
Tutorial by Dmitri, Matthias, and Steve Blackburn on "Learn to hack a VM in 90 minutes"
- VMIL'13 workshop, Indianapolis, IN, USA, October 28, 2013
Invited talk by Matthias on "Debugging Virtual Machines"
- PROMOTO'13 workshop, Indianapolis, IN, USA, October 27, 2013
Participation by Matthias on a panel on "Making a difference 1,000 devices at a time"
- University of Lugano, Switzerland, October 17, 2013
Inaugural Lecture by Matthias "Informatics: Time Travel & Alternate Universes"
- PPPJ'13 conference, Stuttgart, Germany, September 11-13, 2013
Talk by Dmitri on "Jikes RDB: A Debugger for the Jikes RVM"
- PASTE'13 workshop at PLDI, Seattle, WA, USA, June 20, 2013
Talk by Matej on "ShadowData"
- Presentations and lectures on "Informatics" at international schools, Rome, Italy, June 10-14, 2013
Matthias and Andrea
- OOPSLA'13 PC Meeting, Irvine, CA, May 15-17, 2013
- IFIP WG 2.4 Meeting, Mysore, India, March 18-22, 2013
Participation by Matthias as an observer
- Dmitrijs Zaparanuks' Dissertation Defense "Algorithmic Profiling", USI, February 6, 2013
- ISPASS'13 PC Meeting / MICRO'12 conference, Vancouver, Canada, December 1-5, 2012
Participation in ISPASS'13 PC Meeting by Matthias
- Dmitri Makarov's Research Prospectus Review "Multi-Variant Virtual Machine", USI room SI-008, October 26, 2012, 15:30
- Visualization in University Level Computer Science Education Workshop, Wroclav, Poland, September 10-11, 2012
Talk by Matthias on Informa: "Moving from Visualization for Teaching to Visualization for Learning"
- Evaluate'12 workshop, Beijing, China, June 15, 2012
Collaboration involving Matthias on "Improving Experimental Evaluation through Education"
- ECOOP'12 conference, Beijing, China, June 14-16, 2012
- PLDI'12 conference, Beijing, China, June 11-13, 2012
Talk by Dmitrijs "Algorithmic Profiling"
-
- USER'12 workshop at ICSE, Zurich, Switzerland, June 5, 2012
Dmitrijs discussing "Is Essence a Measure of Maintainability?"
- IFIP WG 2.4 Meeting, Vadstena, Sweden, May 20-25, 2012
Participation by Matthias as an observer
- Imperial College, London, Friday-Saturday, February 24-25, 2012
Participation in ECOOP'12 PC Meeting by Matthias
- Microsoft Research, Redmond, WA, Friday, October 28, 2011
Talk by Matthias "Software: Design and Performance"
- SPLASH/OOPSLA'11 conference, Portland, OR, October 23-27, 2011
Talk by Milan "Catch Me If You Can: Performance Bug Detection in the Wild"
- EduSymp'11 symposium, Wellington, Tuesday, October 18, 2011
Talk by Matthias "Models and Clickers for Teaching Computer Science"
- MODELS'11 conference, Wellington, October 16-21, 2011
Talk by Dmitrijs "Vision Paper: The Essence of Structural Models"
- Victoria University of Wellington, Friday, October 14, 2011
Talk by Matthias and Dmitrijs "Software: Design and Performance"
Why Sape?
Sape stands for "software and programmer efficiency". Our research goal is to measure, understand, and improve the efficiency of systems, software, and the humans who use and develop them. Sape also is the name of an instrument, which is a nice pun, given that we often "instrument" systems to observe their behavior. Moreover, SAPE is the Nasdaq stock symbol for "Sapient", which means "wisdom, or the ability of an organism or entity to act with judgment". Currently, all members of our group are homo sapiens.