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 area between 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 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.
You then may want to check out descriptions of ongoing research projects (note: the positions in these projects are filled, but there always is the next project), such as the ParaBoost project focusing on research on concurrent speculative execution in virtual machines, or the FAN project on the foundations of dynamic analysis.
Finally, you should read some of our publications (probably starting with the highlights on the right) to get an idea of where we are coming from.
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:
- 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.