2014
DOI: 10.1145/2518190
|View full text |Cite
|
Sign up to set email alerts
|

Extending Type Inference to Variational Programs

Abstract: Through the use of conditional compilation and related tools, many software projects can be used to generate a huge number of related programs. The problem of typing such variational software is difficult. The brute-force strategy of generating all variants and typing each one individually is: (1) usually infeasible for efficiency reasons and (2) produces results that do not map well to the underlying variational program. Recent research has focused mainly on efficiency and addressed only the problem of type c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
94
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 43 publications
(94 citation statements)
references
References 95 publications
(63 reference statements)
0
94
0
Order By: Relevance
“…If a variable does not have a previous value, we use a special UNSET symbol as in a regular PHP interpreter to indicate that the variable is uninitialized in some configurations. Helper function createChoice performs some simplifications of the representation (lines [11][12][13][14][15][16][17][18][19][20][21][22]. Second, loading a variable's value in a given context φ (lines 7-10) is done by finding values in the variable's MultiValue that satisfy context φ via function extract (lines [24][25][26][27][28][29][30][31][32].…”
Section: Store and Load Operations On Shared Datamentioning
confidence: 99%
See 1 more Smart Citation
“…If a variable does not have a previous value, we use a special UNSET symbol as in a regular PHP interpreter to indicate that the variable is uninitialized in some configurations. Helper function createChoice performs some simplifications of the representation (lines [11][12][13][14][15][16][17][18][19][20][21][22]. Second, loading a variable's value in a given context φ (lines 7-10) is done by finding values in the variable's MultiValue that satisfy context φ via function extract (lines [24][25][26][27][28][29][30][31][32].…”
Section: Store and Load Operations On Shared Datamentioning
confidence: 99%
“…Variability-aware execution has been inspired by recent work on static analysis of product lines [26,51,51,33,40,16,15,23,21]. A community of researchers has investigated how to perform type checking [33,40,21,51], model checking [23,39], data-flow analysis [16,15,40], and other analyses [26,34] on multiple compile-time configurations of a system at a time. This community has explored how to represent and reason about partial but finite configuration spaces compactly with BDDs or SAT solvers (as used in our variability contexts) [14,33,41], how to represent choices of structures [28] and in complex structures [29,40].…”
Section: Related Workmentioning
confidence: 99%
“…The rules of these type systems contain reachability checks (basically implications) making sure, among others, that every program element is defined in all products where it is referenced. Variability-aware type systems have been developed for composition-based implementation [Thaker et al 2007;Huang et al 2007;Kim et al 2008;Kuhlemann et al 2009;Delaware et al 2009;Apel et al 2010a;Apel et al 2010c;Kolesnikov et al 2013], composition-based design [Alférez et al 2011], annotation-based implementation [Aversano et al 2002;Kim et al 2008;Kenner et al 2010;Teixeira et al 2011;Kästner et al 2012a;Kästner et al 2012b;Liebig et al 2013;Le et al 2013;Chen et al 2014], and annotation-based design [Czarnecki and Pietroszek 2006;Metzger et al 2007;Heidenreich 2009]. For composition-based product lines, type checking ensures safe composition [Thaker et al 2007;Kim et al 2008].…”
Section: Family-based Type Checkingmentioning
confidence: 99%
“…However, when dealing with implicitly-typed languages, instead of only checking whether a term is of a given type, we also need to infer types for given terms. A type system that performs type inference for an extension of the lambda calculus has been presented by Chen et al [2014].…”
Section: A:18mentioning
confidence: 99%
See 1 more Smart Citation