About
I am a senior researcher in the GraalVM compiler team at Oracle Labs.
Previously I was a Sourcerer in the Sourcery
Tools Services group at Mentor. Before that I was a postdoc at CEA LIST, working on information flow
analysis in the Frama-C source-code
analysis framework, and at Inria Paris, in the Gallium research team, working on the CompCert formally verified compiler and
on compiler optimizations in general.
I earned my PhD at the Institute of Computer Languages at Vienna
University of Technology, where I was a research assistant. I was employed
on various projects: the Spyculative project
on analysis and optimization of the Python interpreter; the EPICOpt project on code
generation for explicitly parallel processors; and in the ALL-TIMES project
on timing analysis.
Research Interests
My general research interests include all sorts of program analysis and
optimization topics. A specific current interest is finding missed
optimizations in C (and other) compilers.
My PhD thesis concerned near-optimal
integrated instruction scheduling and register allocation based on a PBQP
formulation.
Software
I wrote
ldrgen, a generator
of random C code for testing compiler optimizations. I also wrote
pylibjit, a Python library for
compiling Python functions.
Awards
I received the
Best Paper Award at CC'18 for my paper on
Finding
Missed Compiler Optimizations by Differential Testing.
Publications
Some of my more interesting publications are:
- G. Barany. A more precise, more correct stack and register model for
CompCert.
Presentation at Syntax and Semantics of Low-Level Languages (LOLA 2018),
Oxford, United Kingdom, 2018.
[extended abstract (pdf)]
[slides]
- G. Barany. Liveness-Driven Random Program Generation.
Post-proceedings of the 27th International Symposium on Logic-based Program
Synthesis and Transformation (LOPSTR), Namur, Belgium, 2017. To appear, 2018.
[pdf]
- G. Barany. Finding Missed Compiler Optimizations by Differential
Testing.
27th International Conference on Compiler Construction
(CC'18), Vienna, Austria, 2018.
[pdf]
[slides]
[examples]
Best Paper Award
- G. Barany. Liveness-Driven Random Program Generation.
Pre-proceedings of the 27th International Symposium on Logic-based Program
Synthesis and Transformation (LOPSTR), Namur, Belgium, 2017.
[pdf]
-
G. Barany and J. Signoles. Hybrid Information Flow Analysis for
Real-World C Code.
11th International Conference on Tests &
Proofs (TAP), Marburg, Germany, 2017.
[pdf]
- G. Barany. Integrated Code Motion and Register
Allocation.
PhD thesis, Vienna University of Technology.
[pdf]
Note: The contents of this PDF version are identical to the
officially submitted version except for the removal of some irrelevant
German-language metadata.
- G. Barany. Python Interpreter Performance Deconstructed.
Dyla'14 (colocated with PLDI), Edinburgh, UK, June 2014.
[pdf]
- G. Barany. pylibjit: A JIT Compiler Library for Python.
17. Kolloquium Programmiersprachen und Grundlagen der Programmierung
(KPS13), Wittenberg, Germany, October 2013. [pdf] [slides: pdf]
- G. Barany and A. Krall. Optimal and Heuristic Global Code Motion for
Minimal Spilling.
22nd International Conference on Compiler Construction (CC 2013), Rome,
Italy, March 2013. [pdf] (The original
publication will be available at www.springerlink.com.)
[slides: pdf]
Slides presented in POPL 2013 Student Session: [pdf]
- G. Barany. Static and Dynamic Method Unboxing for Python.
6. Arbeitstagung Programmiersprachen (ATPS 2013), Aachen, Germany, February
2013. [pdf] (The original
publication will appear in volume 215 of Lecture Notes in
Informatics.)
Slides: [pdf]
- R. Lezuo, G. Barany, and A. Krall. CASM: Implementing an Abstract State
Machine based programming language.
6. Arbeitstagung Programmiersprachen (ATPS 2013), Aachen, Germany, February
2013. [pdf]
(The original publication will appear in volume 215 of Lecture Notes in
Informatics.)
Slides: [pdf]
- G. Barany. Register Reuse Scheduling.
9th Workshop on Optimizations for DSP and Embedded Systems (ODES-9),
Chamonix, France, 2011. [pdf]
- G. Barany and A. Prantl. Source-Level Support for Timing
Analysis.
ISoLA 2010, Heraklion, Crete. [pdf] (Annoying
legalese: The original publication is available at www.springerlink.com.)
- G. Barany and A. Krall. Optimistic Integrated Instruction Scheduling
and Register Allocation.
15th Workshop on Compilers for Parallel Computing (CPC 2010), Vienna,
Austria. [pdf]
Professional Activities
I co-organized the
15th Workshop on Compilers for Parallel Computing (CPC 2010) at Vienna
University of Technology.
Old Software
You might also be interested in
SATIrE, a framework
for source-based analysis of C and C++ programs.
Teaching
In the past, I assisted in teaching courses on logic programming, functional
programming, theory and logic, and optimizing compilers. I don't have any
teaching duties at the moment. Yay!