Proceedings of the Eighth International Conference on Generative Programming and Component Engineering 2009
DOI: 10.1145/1621607.1621617
|View full text |Cite
|
Sign up to set email alerts
|

A language and framework for invariant-driven transformations

Abstract: This paper describes a language and framework that allow coordinated transformations driven by invariants to be specified declaratively, as invariant rules, and applied automatically. The framework supports incremental maintenance of invariants for program design and optimization, as well as general transformations for instrumentation, refactoring, and other purposes. This paper also describes our implementations for transforming Python and C programs and experiments with successful applications of the systems… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2010
2010
2019
2019

Publication Types

Select...
2
2
1

Relationship

4
1

Authors

Journals

citations
Cited by 10 publications
(15 citation statements)
references
References 21 publications
0
15
0
Order By: Relevance
“…Optimization by incrementalization, e.g., [28,12,22,21], transforms such expensive computations into efficient incremental maintenance of appropriate auxiliary values as the sets and sequences are updated. For distributed algorithms, the resulting incremental computations become efficient message handlers [23].…”
Section: High-level Specifications Of Distributed Algorithmsmentioning
confidence: 99%
See 1 more Smart Citation
“…Optimization by incrementalization, e.g., [28,12,22,21], transforms such expensive computations into efficient incremental maintenance of appropriate auxiliary values as the sets and sequences are updated. For distributed algorithms, the resulting incremental computations become efficient message handlers [23].…”
Section: High-level Specifications Of Distributed Algorithmsmentioning
confidence: 99%
“…Optimization by incrementalization [28,12,22,21,23] transforms such expensive queries into efficient incremental maintenance of appropriate auxiliary values. Invariants made explicit following our specification method not only help prove the correctness of the algorithms, but also help apply the optimizations.…”
Section: Related Workmentioning
confidence: 99%
“…InvTS (Liu et al 2005(Liu et al , 2009) is a transformation system for Python that performs source-level incrementalization transformations by applying transformation rules that involve alias conditions. InvTS uses alias information to statically determine the value of aliasing conditions if possible.…”
Section: Effectiveness For Optimizationmentioning
confidence: 99%
“…A more general automated approach is to generate them by starting with a high-level algorithm (or specification) and applying different optimizations (algorithm improvements, automated using program analysis and transformation). In particular, we have used a method based on systematic incrementalization [27,22,19,18], which transforms programs to maintain high-level invariants incrementally, and related optimizations to generate multiple variants of many sequential algorithms and distributed algorithms [26,25,24].…”
Section: Introductionmentioning
confidence: 99%