2005
DOI: 10.1145/1103845.1094848
|View full text |Cite
|
Sign up to set email alerts
|

Incrementalization across object abstraction

Abstract: Object abstraction supports the separation of what operations are provided by systems and components from how the operations are implemented, and is essential in enabling the construction of complex systems from components. Unfortunately, clear and modular implementations have poor performance when expensive query operations are repeated, while efficient implementations that incrementally maintain these query results are much more difficult to develop and to understand, because the code blows up significantly,… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
9
0

Year Published

2012
2012
2019
2019

Publication Types

Select...
2
1

Relationship

3
0

Authors

Journals

citations
Cited by 3 publications
(9 citation statements)
references
References 57 publications
0
9
0
Order By: Relevance
“…The two conditions in await are key to the algorithm to ensure mutual exclusion, while the rest does basic sending and receiving of messages and bookkeeping of q. [27,22,26,24]. It can yield diverse algorithms.…”
Section: Creating Variants Using Incrementalizationmentioning
confidence: 99%
See 1 more Smart Citation
“…The two conditions in await are key to the algorithm to ensure mutual exclusion, while the rest does basic sending and receiving of messages and bookkeeping of q. [27,22,26,24]. It can yield diverse algorithms.…”
Section: Creating Variants Using Incrementalizationmentioning
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]. Algorithm diversity and implementation-level diversity introduce different kinds of variation and together offer more diversity than either alone.…”
Section: Introductionmentioning
confidence: 99%
“…Liu et al [27] studies incrementalization for object-oriented programs. It transforms expensive queries and updates by applying manually written incrementalization rules from a library of rules.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Once these are established, updates can be determined using previously studied analysis methods, e.g., [33,51].…”
Section: Incrementalizing Expensive Synchronizationsmentioning
confidence: 99%
“…Incremental computation. Given expensive queries and updates to the query parameters, efficient incremental computations can be derived for large classes of queries and updates based on the language constructs used in them or by using a library of rules built on existing data structures [51,53,54,65]. For aggregations converted from quantifications, algebraic properties of the aggregation operators are exploited to efficiently handle possible updates.…”
Section: Incrementalizing Expensive Synchronizationsmentioning
confidence: 99%