Realizing Implicit Computational Complexity
Cl\'ement Aubert, Thomas Rubiano, Neea Rusch, Thomas Seiller

TL;DR
This paper explores advanced typing mechanisms from Implicit Computational Complexity to improve program analysis and optimization, including loop parallelization and static analysis, demonstrating practical extensions of ICC principles.
Contribution
It introduces novel extensions to ICC-based type systems for finer dependency tracking, loop optimization, and efficient static analysis, pushing ICC's practical applications further.
Findings
Enhanced loop optimization through invariant hoisting and loop splitting
Development of a fast, modular static analyzer based on ICC
Demonstration of ICC's potential for orthogonal program analysis approaches
Abstract
This abstract aims at presenting an ongoing effort to apply a novel typing mechanism stemming from Implicit Computational Complexity (ICC), that tracks dependencies between variables in three different ways, at different stages of maturation.The first and third projects bend the original typing discipline to gain finer-grained view on statements independence, to optimize loops by hoisting invariant and by splitting loops "horizontally" to parallelize them more efficiently.The second project refines and implements the original analysis to obtain a fast, modular static analyzer.All three projects aims at pushing the original type system, inspired from ICC, to its limits, to assess how ICC can in practice leads to original, sometimes orthogonal, approaches.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Evolutionary Algorithms and Applications
