Paolo G. Giarrusso
I am a Ph.D. student in the Programming Languages and Software Engineering research group at the Department of Mathematics and Computer Science of University of Marburg, Germany.
Links about me
Selected past (non-research) projects
Participated in development of:
- UserModeLinux, a working project to run a virtualized Linux kernel as a normal process without hardware support, included in the mainline kernel, developed with Jeff Dike and others.
- Jext, a text editor for programmers, developed with Romain Guy.
Designed and initiated:
- Micropython, a fast interpreter for a subset of Python, 2-3x faster than CPython, in the course on Virtual Machines by Lars Bak, together with another colleague.
- A compiler for a substantial subset of Java in the Compilation course in Aarhus University, with two colleagues.
Research interests
My current research interests revolve around programming language theory and practice, study of domain-specific embedded languages (DSELs), and applications of these to distributed and database-based systems, in the setting of modern functional languages, especially Scala and Haskell, which are better suited for DSL embedding. In the recent past, I have worked in the field of distributed systems and programming language implementation, and I still have an interest in operating systems.
More in general, I am passionate both about mathematics, especially discrete mathematics, and dirty and concrete hacking and programming. I like thinking of myself as a good programmer in the first place.
Research projects and publications
"With coauthors" denotes that the authors are listed alphabetically.-
IλC - Incremental λ-Calculus.
This work is described in:-
A theory of
changes for higher-order languages — incrementalizing λ-calculi by static
differentiation.
With Yufei Cai, Tillmann Rendel, and Klaus Ostermann.
In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (New York, NY, USA, 2014), PLDI ’14, ACM Press. To appear.
-
A theory of
changes for higher-order languages — incrementalizing λ-calculi by static
differentiation.
-
TypeChef: Type checking #ifdef variability (with application to the Linux kernel).
This work is described in:-
Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation.
Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger.
In Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Portland), October 2011. ACM Press. -
Partial Preprocessing C Code for Variability Analysis.
Christian Kästner, Paolo G. Giarrusso, and Klaus Ostermann.
In Proceedings of the Fifth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS) (Namur, Belgium), pages 137-140, January 2011. ACM Press. -
Paolo G. Giarrusso.
TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines.
Master’s thesis (tesi di diploma di licenza di 2° livello), Scuola Superiore di Catania, 2011. Slides available.
-
Variability-Aware Parsing in the Presence of Lexical Macros and Conditional Compilation.
-
On modularity and information hiding.
Revisiting Information Hiding: Reflections on Classical and Nonclassical Modularity.
Klaus Ostermann, Paolo G. Giarrusso, Christian Kästner and Tillmann Rendel.
In Proceedings of the 25th European Conference on Object-Oriented Programming (ECOOP). Springer-Verlag, July 2011. -
Scalable Prediction of Non-functional Properties in Software Product Lines.
Norbert Siegmund, Marko Rosenmüller, Christian Kästner, Paolo G. Giarrusso, Sven Apel, and Sergiy Kolesnikov.
In Proceedings of the 15th International Software Product Line Conference (SPLC) (Munich), August 2011. IEEE Computer Society. Winner of the Best Research Paper Award.
Extended version accepted for publication by the journal Information and Software Technology. RexMidas: A Reflective Middleware for Transparently and Effectively Distributing Objects on a Grid System.
Paolo G. Giarrusso, Giuseppe Pappalardo, Luigi Toscano and Emiliano Tramontana.
In Proceedings of IEEE 17th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), June 2008. IEEE Computer Society.A protocol to preserve a code of conduct.
Cristiano Longo, Paolo G. Giarrusso.
In Proceedings of the 2007 ACM Symposium on Applied computing (SAC) (Seoul), 2007. ACM Press.
Teaching
- Winter Semester 2013/14: Lecturer for
Software Language Engineering.
Teaching material - Winter Semester 2012/13: Teaching Assistant for Introduction to Software Engineering.
Teaching material - Winter Semester 2011/12: Teaching Assistant for Web Technologies.
Teaching material - Summer Semester 2011: Software Lab (Software-Praktikum)
- Winter Semester 2010/11: Seminar on Virtual Machines:
Fast dynamic languages—how did JavaScript get so fast?
Contacts
Email: pgiarrusso (at) informatik (dot) uni-marburg (dot) de
Office: 05 D 07 (changed in Sep 2013)
Phone: +49-6421-28-21541 (changed in Sep 2013)
Address:
Department of Mathematics and Computer Science
University of Marburg
Hans-Meerwein-Straße
35032 Marburg
Germany