673 papers · page 9 of 34
Stanislav Manilov, Christos Vasiladiotis, Björn Franke
Iterators prescribe the traversal of data structures and determine loop termination, and many loop analyses and transformations require their exact identification. While recognition of iterators is a straight-forward task for affine loops, the situation is different for loops ite…
Rumyana Neykova, Raymond Hu, Nobuko Yoshida, Fahd Abdeljallal
We present a library for the specification and implementation of distributed protocols in native F# (and other .NET languages) based on multiparty session types (MPST). There are two main contributions. Our library is the first practical development of MPST to support what we ref…
Komal Pathade, Uday P. Khedker
Data flow analysis traverses paths in a control flow graph (CFG) representation of programs to compute useful information. Many of these paths are infeasible, i.e. they cannot arise in any possible execution. The information computed along these paths adds imprecision to the conv…
Xipeng Shen
Recent years have witnessed some influential progresses in Machine Learning (ML) and Artificial Intelligence (AI). The progresses may lead to some significant changes to future programming. Many programs, for instance, may be not code written in some specially designed programmin…
Haiyang Sun, Daniele Bonetta, Christian Humer, Walter Binder
Due to its popularity, there is an urgent need for dynamic program-analysis tools for Node.js, helping developers find bugs, performance bottlenecks, and bad coding practices. Frameworks based on code-level instrumentation enable dynamic analyses close to program semantics and ar…
Patrick Thier, M. Anton Ertl, Andreas Krall
Tree-parsing instruction selection as used in, e.g., lcc, uses dynamic costs to gain flexibility and handle situations (such as read-modify-write instructions) that do not fit into the basic tree-parsing model. The disadvantage of dynamic costs is that we can no longer turn the t…
Jisheng Zhao, Michael G. Burke, Vivek Sarkar
This paper aims to contribute to further advances in pointer (or points-to) analysis algorithms along the combined dimen- sions of precision, scalability, and performance. For precision, we aim to support interprocedural ow-sensitive analysis. For scalability, we aim to show that…
Jie Zhao, Michael Kruse, Albert Cohen
We study the parallelizing compilation and loop nest optimization of an important class of programs where counted loops have a dynamic data-dependent upper bound. Such loops are amenable to a wider set of transformations than general while loops with inductively defined terminati…
Oleksandr Zinenko, Sven Verdoolaege, Chandan Reddy, Jun Shirako, Tobias Grosser, Vivek Sarkar, Albert Cohen
The construction of effective loop nest optimizers and parallelizers remains challenging despite decades of work in the area. Due to the increasing diversity of loop-intensive applications and to the complex memory/computation hierarchies in modern processors, optimization heuris…
Lian Li, Yi Lu, Jingling Xue
Ulysse Beaugnon, Antoine Pouille, Marc Pouzet, Jacques A. Pienaar, Albert Cohen
Swarnendu Biswas, Man Cao, Minjia Zhang, Michael D. Bond, Benjamin P. Wood
Dan Brotherston, Werner Dietl, Ondrej Lhoták
Alessandro Di Federico, Mathias Payer, Giovanni Agosta
Nouraldin Jaber, Milind Kulkarni
Robin Morisset, Francesco Zappa Nardelli
Rumyana Neykova, Nobuko Yoshida
Nikita Popov, Biagio Cosenza, Ben H. H. Juurlink, Dmitry Stogov
Jun Shirako, Akihiro Hayashi, Vivek Sarkar
Arjun Suresh, Erven Rohou, André Seznec