George Fourtounis

I finished my PhD in 2014, at the National Technical University of Athens (NTUA), Department of Electrical and Computer Engineering. My advisor was Nikolaos Papaspyrou. I worked on gic, a compiler from a subset of Haskell to dataflow, based on the intensional transformation technique.

Currently I am a Research Associate at the PLAST lab of the Department of Informatics and Telecommunications, University of Athens, working with Yannis Smaragdakis.

Teaching: Advanced Programming Techniques (fall 2016).

Research interests

  • dataflow languages and intensional programming
  • functional programming languages, type theory
  • program transformation
  • program analysis

Current activities

Publications

  • Identifying Java Calls in Native Code via Binary Scanning (pdf) (video) (artifact)
    G. Fourtounis, L. Triantafyllou, and Y. Smaragdakis. ISSTA 2020.
  • On the Recall of Static Call Graph Construction in Practice (pdf) (artifact)
    L. Sui, J. Dietrich, A. Tahir, and G. Fourtounis. ICSE 2020.
  • Deep Static Modeling of invokedynamic (pdf) (artifact) (slides) (video)
    G. Fourtounis and Y. Smaragdakis. ECOOP 2019.
  • Static Analysis of Java Dynamic Proxies (pdf) (slides) (artifact)
    G. Fourtounis, G. Kastrinis, and Y. Smaragdakis. ISSTA 2018.
  • Shooting from the Heap: Ultra-Scalable Static Analysis with Heap Snapshots (pdf)
    N. Grech, G. Fourtounis, A. Francalanza, and Y. Smaragdakis. ISSTA 2018.
  • Heaps Don’t Lie: Countering Unsoundness with Heap Snapshots (pdf)
    N. Grech, G. Fourtounis, A. Francalanza, and Y. Smaragdakis. OOPSLA 2017.
  • Structured Program Generation Techniques (pdf)
    Y. Smaragdakis, A. Biboudis, and G. Fourtounis. Grand Timely Topics in Software Engineering, 2015.
  • Streams à la carte: Extensible Pipelines with Object Algebras (pdf)
    A. Biboudis, N. Palladinos, G. Fourtounis and Y. Smaragdakis. 29th European Conference on Object-Oriented Programming (ECOOP 2015).
  • FOO: A Minimal Modern OO Calculus (pdf) (slides)
    P. Gerakios, G. Fourtounis and Y. Smaragdakis. In Proceedings of the 17th Workshop on Formal Techniques for Java-like Programs (FTfJP 2015).
  • jUCM: Universal Class Morphing (position paper) (arxiv)
    A. Biboudis, G. Fourtounis and Y. Smaragdakis. MASPEGHI’15.
  • An Efficient Representation for Lazy Constructors Using 64-bit Pointers (pdf) (slides) (video)
    G. Fourtounis and N. Papaspyrou. In Proceedings of the 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC’14), 2014.
  • The Intensional Transformation for Implementing Functional Programming Languages (slides) (thesis in Greek) (English translation pending)
    G. Fourtounis. PhD thesis, 2014.
  • Modular Polymorphic Defunctionalization (pdf)
    G. Fourtounis, N. Papaspyrou, and P. Theofilopoulos. In Computer Science and Information Systems 11(4), pp. 1417–1434, 2014.
  • Supporting Separate Compilation in a Defunctionalizing Compiler (pdf) (slides)
    G. Fourtounis and N. Papaspyrou. In Proceedings of the 2nd International Symposium on Languages, Applications and Technologies, 2013.
  • The Generalized Intensional Transformation for Implementing Lazy Functional Languages (pdf) (slides)
    G. Fourtounis, N. Papaspyrou, and P. Rondogiannis. In Proceedings of the Fifteenth International Symposium on Practical Aspects of Declarative Languages, 2013.
  • Formally Specifying and Analyzing a Parallel Virtual Machine for Lazy Functional Languages Using Maude (ACM Author-Izer download) (slides)
    G. Fourtounis, P. C. Ölveczky, and N. Papaspyrou. In Proceedings of the Fifth International Workshop on High-level Parallel Programming and Applications, 2011.
  • The Intensional Transformation for Functional Languages with User-Defined Data Types (pdf)
    G. Fourtounis, N. Papaspyrou, and P. Rondogiannis. In Proceedings of the 8th Panhellenic Logic Symposium, 2011.