Skip to main content

Showing 1–3 of 3 results for author: Fourtounis, G

Searching in archive cs. Search in all archives.
.
  1. Deep Static Modeling of invokedynamic

    Authors: George Fourtounis, Yannis Smaragdakis

    Abstract: Java 7 introduced programmable dynamic linking in the form of the invokedynamic framework. Static analysis of code containing programmable dynamic linking has often been cited as a significant source of unsoundness in the analysis of Java programs. For example, Java lambdas, introduced in Java 8, are a very popular feature, which is, however, resistant to static analysis, since it mixes invokedyna… ▽ More

    Submitted 8 January, 2020; originally announced January 2020.

    ACM Class: F.3.2

    Journal ref: ECOOP 2019

  2. Heaps Don't Lie: Countering Unsoundness with Heap Snapshots

    Authors: Neville Grech, George Fourtounis, Adrian Francalanza, Yannis Smaragdakis

    Abstract: Static analyses aspire to explore all possible executions in order to achieve soundness. Yet, in practice, they fail to capture common dynamic behavior. Enhancing static analyses with dynamic information is a common pattern, with tools such as Tamiflex. Past approaches, however, miss significant portions of dynamic behavior, due to native code, unsupported features (e.g., invokedynamic or lambdas… ▽ More

    Submitted 6 May, 2019; originally announced May 2019.

    Comments: OOPSLA 2017

    Journal ref: Proceedings of the ACM on Programming Languages archive Volume 1 Issue OOPSLA, October 2017 Article No. 68

  3. arXiv:1506.05270  [pdf, other

    cs.PL

    jUCM: Universal Class Morphing (position paper)

    Authors: Aggelos Biboudis, George Fourtounis, Yannis Smaragdakis

    Abstract: We extend prior work on class-morphing to provide a more expressive pattern-based compile-time reflection language. Our MorphJ language offers a disciplined form of metaprogramming that produces types by statically iterating over and pattern-matching on fields and methods of other types. We expand such capabilities with "universal morphing", which also allows pattern-matching over types (e.g., all… ▽ More

    Submitted 17 June, 2015; originally announced June 2015.