Feature-oriented software product lines

S Apel, D Batory, C Kästner, G Saake - 2013 - Springer
The idea for this book arose from a series of lectures on modern programming paradigms,
feature-oriented programming, and software product lines that are continuously held at the …

Featherweight Java: a minimal core calculus for Java and GJ

A Igarashi, BC Pierce, P Wadler - ACM Transactions on Programming …, 2001 - dl.acm.org
Several recent studies have introduced lightweight versions of Java: reduced languages in
which complex features like threads and reflection are dropped to enable rigorous …

Featherweight Java: A minimal core calculus for Java and GJ

A Igarashi, B Pierce, P Wadler - ACM SIGPLAN Notices, 1999 - dl.acm.org
Several recent studies have introduced lightweight versions of Java: reduced languages in
which complex features like threads and reflection are dropped to enable rigorous …

Jiazzi: new-age components for old-fasioned Java

S McDirmid, M Flatt, WC Hsieh - ACM SIGPLAN Notices, 2001 - dl.acm.org
We present Jiazzi, a system that enables the construction of large-scale binary components
in Java. Jiazzi components can be thought of as generalizations of Java packages with …

A calculus of module systems

D Ancona, E Zucca - Journal of functional programming, 2002 - cambridge.org
We present CMS, a simple and powerful calculus of modules supporting mutual recursion
and higher order features, which can be instantiated over an arbitrary core calculus …

The Java module system: core design and semantic definition

R Strniša, P Sewell, M Parkinson - ACM SIGPLAN Notices, 2007 - dl.acm.org
Java has no module system. Its packages only subdivide the class name space, allowing
only a very limited form of component-level information hiding and reuse. Two Java …

Jam---designing a Java extension with mixins

D Ancona, G Lagorio, E Zucca - ACM Transactions on Programming …, 2003 - dl.acm.org
In this paper we present Jam, an extension of the Java language supporting mixins, that is,
parametric heir classes. A mixin declaration in Jam is similar to a Java heir class declaration …

Regular object types

V Gapeyev, BC Pierce - European Conference on Object-Oriented …, 2003 - Springer
Regular types have been proposed as a foundation for statically typed processing of XML
and other forms of tree-structured data. To date, however, regular types have only been …

Java & lambda: a featherweight story

L Bettini, V Bono, M Dezani-Ciancaglini… - Logical Methods in …, 2018 - lmcs.episciences.org
We present FJ& λ, a new core calculus that extends Featherweight Java (FJ) with interfaces,
supporting multiple inheritance in a restricted form, λ-expressions, and intersection types …

Automated software remodularization based on move refactoring: a complex systems approach

MS Zanetti, CJ Tessone, I Scholtes… - Proceedings of the 13th …, 2014 - dl.acm.org
Modular design is a desirable characteristic of complex software systems that can
significantly improve their comprehensibility, maintainability and thus quality. While many …