|
ABSTRACT
Programs of a software product line can be synthesized by composing modules that implement features. Besides high-level domain constraints that govern the compatibility of features, there are also low-level implementation constraints: a feature module can reference elements that are defined in other feature modules. Safe composition is the guarantee that all programs in a product line are type safe: i.e., absent of references to undefined elements (such as classes, methods, and variables). We show how safe composition properties can be verified for AHEAD product lines using feature models and SAT solvers.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
M. Anastasopoulos and D. Muthig. "An Evaluation of Aspect-Oriented Programming as a Product Line Implementation Technology". ICSR 2004.
|
 |
2
|
D. Ancona , G. Lagorio , E. Zucca, True separate compilation of Java classes, Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming, p.189-200, October 06-08, 2002, Pittsburgh, PA, USA
[doi> 10.1145/571157.571177]
|
| |
3
|
Apache Ant Project. http://ant.apache.org/
|
| |
4
|
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. "An Overview of CaesarJ", Journal of Aspect Oriented Development, 2006.
|
| |
5
|
Argonne National Laboratory. "Otter: An Automated Deduction System", www-unix.mcs.anl.gov/AR/otter/
|
 |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
D. Batory, AHEAD Tool Suite. www.cs.utexas.edu/users/schwartz/ATS.html.
|
| |
10
|
|
| |
11
|
D. Batory. "Feature Models, Grammars, and Propositional Formulas", Software Product Line Conference (SPLC), September 2005.
|
| |
12
|
|
| |
13
|
P. Clements. private correspondence 2005.
|
| |
14
|
A. Colyer, A. Rashid, G. Blair. "On the Separation of Concerns in Program Families". Technical Report COMP-001-2004, Lancaster University, 2004.
|
| |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
|
 |
19
|
Matthew Flatt , Shriram Krishnamurthi , Matthias Felleisen, Classes and mixins, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268961]
|
| |
20
|
|
| |
21
|
|
| |
22
|
|
| |
23
|
|
| |
24
|
|
| |
25
|
|
| |
26
|
S. S. Huang, D. Zook, and Y. Smaragdakis. "Statically Safe Program Generation with SafeGen", GPCE 2005.
|
 |
27
|
Atshushi Igarashi , Benjamin Pierce , Philip Wadler, Featherwieght Java: a minimal core calculus for Java and GJ, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.132-146, November 01-05, 1999, Denver, Colorado, United States
|
| |
28
|
M. de Jong and J. Visser. "Grammars as Feature Diagrams". www.cs.uu.nl/wiki/Merijn/PaperGrammarsAsFeatureDiagrams,2002.
|
| |
29
|
K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. "Feature-Oriented Domain Analysis (FODA) Feasibility Study". Technical Report, CMU/SEI-90TR-21, Nov. 1990.
|
| |
30
|
K. Kang. private communication, 2005.
|
| |
31
|
|
 |
32
|
Eugene Kohlbecker , Daniel P. Friedman , Matthias Felleisen , Bruce Duba, Hygienic macro expansion, Proceedings of the 1986 ACM conference on LISP and functional programming, p.151-161, August 1986, Cambridge, Massachusetts, United States
[doi> 10.1145/319838.319859]
|
 |
33
|
|
 |
34
|
|
| |
35
|
|
| |
36
|
|
| |
37
|
R. E. Lopez-Herrejon and D. Batory. "Using Hyper/J to implement Product Lines: A Case Study", Dept. Computer Sciences, Univ. Texas at Austin, 2002.
|
 |
38
|
|
| |
39
|
C. McManus, The Basics of Java Class Loaders, www.javaworld.com/javaworld/jw-10-1996/jw-10-indepth.html
|
| |
40
|
M. Odersky, et al. An Overview of the Scala Programming Language. September (2004), scala.epfl.ch
|
| |
41
|
H. Ossher and P. Tarr. "Multi-dimensional Separation of Concerns and the Hyperspace Approach." In Software Architectures and Component Technology, Kluwer, 2002.
|
| |
42
|
|
| |
43
|
|
| |
44
|
Prevaler Project. www.prevayler.org/.
|
| |
45
|
|
| |
46
|
SAT4J Satisfiability Solver, www.sat4j.org/
|
| |
47
|
|
| |
48
|
Specware. www.specware.org.
|
| |
49
|
R. Strnisza and M. Parkinson, "Lightweight Java: A Fully-Formalized, Extensible Minimal Imperative Fragment of Java", http://www.cl.cam.ac.uk/~rs456/lj/
|
| |
50
|
|
 |
51
|
|
| |
52
|
S. Thaker. "Design and Analysis of Multidimensional Program Structures", M. Sc. Thesis, Department of Computer Sciences, The University of Texas at Austin, 2006.
|
| |
53
|
|
| |
54
|
|
 |
55
|
|
|