Feature-oriented contract composition

•Contract refinement in feature-oriented contract composition is seldom but crucial.•The Liskov substitution principle does not apply to features.•To handle the refinement of frames, techniques from OOP are sufficient. A software product line comprises a set of products that share a common code base...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 152; pp. 83 - 107
Main Authors Thüm, Thomas, Knüppel, Alexander, Krüger, Stefan, Bolle, Stefanie, Schaefer, Ina
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.06.2019
Subjects
Online AccessGet full text
ISSN0164-1212
1873-1228
DOI10.1016/j.jss.2019.01.044

Cover

Abstract •Contract refinement in feature-oriented contract composition is seldom but crucial.•The Liskov substitution principle does not apply to features.•To handle the refinement of frames, techniques from OOP are sufficient. A software product line comprises a set of products that share a common code base, but vary in specific characteristics called features. Ideally, features of a product line are developed in isolation and composed subsequently. Product lines are increasingly used for safety–critical software, for which quality assurance becomes indispensable. While the verification of product lines gained considerable interest in research over the last decade, the subject of how to specify product lines is only covered rudimentarily. A challenge to overcome is composition; similar to inheritance in object-oriented programming, features of a product line may refine other features along with their specifications. To investigate how refinement and composition of specifications can be established, we derive a notion of feature-oriented contracts comprising preconditions, postconditions, and framing conditions of a method. We discuss six mechanisms to perform contract composition between original and refining contracts. Moreover, we identify and discuss desired properties for contract composition and evaluate which properties are established by which mechanism. Our three main insights are that (a) contract refinement is seldom but crucial, (b) the Liskov principle does not apply to features, and (c) it is sufficient to accommodate techniques from object-orientation in the contract-composition mechanisms for handling frame refinements.
AbstractList •Contract refinement in feature-oriented contract composition is seldom but crucial.•The Liskov substitution principle does not apply to features.•To handle the refinement of frames, techniques from OOP are sufficient. A software product line comprises a set of products that share a common code base, but vary in specific characteristics called features. Ideally, features of a product line are developed in isolation and composed subsequently. Product lines are increasingly used for safety–critical software, for which quality assurance becomes indispensable. While the verification of product lines gained considerable interest in research over the last decade, the subject of how to specify product lines is only covered rudimentarily. A challenge to overcome is composition; similar to inheritance in object-oriented programming, features of a product line may refine other features along with their specifications. To investigate how refinement and composition of specifications can be established, we derive a notion of feature-oriented contracts comprising preconditions, postconditions, and framing conditions of a method. We discuss six mechanisms to perform contract composition between original and refining contracts. Moreover, we identify and discuss desired properties for contract composition and evaluate which properties are established by which mechanism. Our three main insights are that (a) contract refinement is seldom but crucial, (b) the Liskov principle does not apply to features, and (c) it is sufficient to accommodate techniques from object-orientation in the contract-composition mechanisms for handling frame refinements.
Author Bolle, Stefanie
Krüger, Stefan
Schaefer, Ina
Thüm, Thomas
Knüppel, Alexander
Author_xml – sequence: 1
  givenname: Thomas
  orcidid: 0000-0001-8069-9584
  surname: Thüm
  fullname: Thüm, Thomas
  email: t.thuem@tu-bs.de
  organization: TU Braunschweig, Germany
– sequence: 2
  givenname: Alexander
  surname: Knüppel
  fullname: Knüppel, Alexander
  email: a.knueppel@tu-bs.de
  organization: TU Braunschweig, Germany
– sequence: 3
  givenname: Stefan
  surname: Krüger
  fullname: Krüger, Stefan
  email: stefan.krueger@uni-paderborn.de
  organization: Paderborn University, Germany
– sequence: 4
  givenname: Stefanie
  surname: Bolle
  fullname: Bolle, Stefanie
  email: s.bolle@tu-bs.de
  organization: TU Braunschweig, Germany
– sequence: 5
  givenname: Ina
  surname: Schaefer
  fullname: Schaefer, Ina
  email: i.schaefer@tu-bs.de
  organization: TU Braunschweig, Germany
BookMark eNp9j0FLAzEQhYNUcFv9Ad68eNx1JpvsJniSYqtQ8KLnkGZnIYvdlCQK_ntT6tnTvMN8j_ct2WIOMzF2i9AgYPcwNVNKDQfUDWADQlywClXf1si5WrCq_IiSkV-xZUoTAPQceMXuN2TzV6Q6RE9zpuHOhTlH63IJh2NIPvswX7PL0X4muvm7K_axeX5fv9S7t-3r-mlXOy50rjuSVupRACdQqusG1YsRYc_RkdgPzknQstd2dAMX0vVWKS2xpU602nLp2hXDc6-LIaVIozlGf7DxxyCYk6eZTPE0J08DaIpnYR7PDJVh356iSa6oOBp8JJfNEPw_9C-vI1w8
Cites_doi 10.1016/j.scico.2010.02.001
10.1007/978-3-319-61443-4
10.1145/1953122.1953145
10.1145/197320.197383
10.1145/1745312.1745316
10.1145/2518189
10.1016/j.scico.2015.06.005
ContentType Journal Article
Copyright 2019 Elsevier Inc.
Copyright_xml – notice: 2019 Elsevier Inc.
DBID AAYXX
CITATION
DOI 10.1016/j.jss.2019.01.044
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1873-1228
EndPage 107
ExternalDocumentID 10_1016_j_jss_2019_01_044
S0164121219300044
GroupedDBID --K
--M
-~X
.DC
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
9M8
AABNK
AACTN
AAEDT
AAEDW
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
AAYOK
ABBOA
ABEFU
ABFNM
ABFRF
ABFSI
ABJNI
ABMAC
ABTAH
ABXDB
ABYKQ
ACDAQ
ACGFO
ACGFS
ACGOD
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADHUB
ADJOM
ADMUD
AEBSH
AEFWE
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHZHX
AI.
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BKOJK
BKOMP
BLXMC
CS3
DU5
E.L
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
IHE
J1W
KOM
LG9
M41
MO0
MS~
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
PQQKQ
Q38
R2-
RIG
RNS
ROL
RPZ
RXW
SBC
SDF
SDG
SDP
SES
SEW
SPC
SPCBC
SSV
SSZ
T5K
TAE
TN5
TWZ
UHS
UNMZH
VH1
WUQ
XPP
ZMT
ZY4
~G-
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACRPL
ACVFH
ADCNI
ADNMO
AEIPS
AEUPX
AFJKZ
AFPUW
AFXIZ
AGCQF
AGQPQ
AGRNS
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
BNPGV
CITATION
SSH
ID FETCH-LOGICAL-c249t-6e5a59f402e08866d874f10b21ce4bdcc509579afcd245c7a889513e6439a25c3
IEDL.DBID AIKHN
ISSN 0164-1212
IngestDate Tue Jul 01 03:45:08 EDT 2025
Fri Feb 23 02:33:19 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Deductive verification
Software product lines
Design by contract
Formal methods
Feature-oriented programming
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c249t-6e5a59f402e08866d874f10b21ce4bdcc509579afcd245c7a889513e6439a25c3
ORCID 0000-0001-8069-9584
PageCount 25
ParticipantIDs crossref_primary_10_1016_j_jss_2019_01_044
elsevier_sciencedirect_doi_10_1016_j_jss_2019_01_044
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate June 2019
2019-06-00
PublicationDateYYYYMMDD 2019-06-01
PublicationDate_xml – month: 06
  year: 2019
  text: June 2019
PublicationDecade 2010
PublicationTitle The Journal of systems and software
PublicationYear 2019
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Hatcliff, Leavens, Leino, Müller, Parkinson (bib0044) 2012; 44
Rebêlo, Leavens, Bagherzadeh, Rajan, Lima, Zimmerman, Cornélio, Thüm (bib0075) 2014
Apel, Batory, Kästner, Saake (bib0004) 2013
Damiani, Owe, Dovland, Schaefer, Johnsen, Yu (bib0034) 2012
Thüm, Schaefer, Apel, Hentschel (bib0096) 2012
Bashardoust-Tajali, Corriveau (bib0013) 2008
Hähnle, Schaefer (bib0041) 2012
Strickland, Dimoulas, Takikawa, Felleisen (bib0088) 2013; 35
Rebêlo, Coelho, Lima, Leavens, Huisman, Mota, Castor Filho (bib0074) 2011
Apel, Lengauer, Möller, Kästner (bib0009) 2010; 75
Mezini, Lieberherr (bib0066) 1998
Batory, Sarvela, Rauschmayer (bib0016) 2004; 30
Griswold, Sullivan, Song, Shonle, Tewari, Cai, Rajan (bib0040) 2006; 23
Bruns, Klebanov, Schaefer (bib0024) 2011
Zhao, Rinard (bib0102) 2003
Thüm, Meinicke, Benduhn, Hentschel, von Rhein, Saake (bib0095) 2014
Leavens, Müller (bib0056) 2007
Weigelt (bib0100) 2013
Höfner, Möller (bib0046) 2009
Smaragdakis, Batory (bib0087) 2002; 11
Bolle (bib0021) 2017
Farrell, Monahan, Power (bib0036) 2017
Rebêlo, Soares, Lima, Borba, Cornélio (bib0079) 2008
Klaeren, Pulvermueller, Rashid, Speck (bib0054) 2001
Molderez, Janssens (bib0067) 2012
Tarr, Ossher, Harrison, Sutton (bib0091) 1999
Barnett, Fähndrich, Leino, Müller, Schulte, Venter (bib0012) 2011; 54
Schröter, Siegmund, Thüm (bib0085) 2013
Kiczales, Hilsdale, Hugunin, Kersten, Palm, Griswold (bib0052) 2001
Thüm (bib0092) 2015
Scholz, Thüm, Apel, Lengauer (bib0084) 2011
Bracha, Cook (bib0023) 1990
Lorenz, Skotiniotis (bib0062) 2005; abs/cs/0501070
Findler, Latendresse, Felleisen (bib0038) 2001
Beckert, Hähnle, Schmitt (bib0017) 2007
Molderez, Janssens (bib0068) 2015
Apel, Kästner, Lengauer (bib0006) 2013; 39
Kästner, Thüm, Saake, Feigenspan, Leich, Wielgorz, Apel (bib0050) 2009
Rhanoui, Asri (bib0080) 2014; 11
Shinotsuka, Ubayashi, Shinomi, Tamai (bib0086) 2006
Chalin, Kiniry, Leavens, Poll (bib0029) 2005
Meyer (bib0064) 1988
Proksch, Krüger (bib0073) 2014
Hähnle, Schaefer, Bubel (bib0042) 2013
Calder, Kolberg, Magill, Reiff-Marganiec (bib0027) 2003; 41
Pohl, Böckle, van der Linden (bib0071) 2005
Rebêlo, Lima, Kulesza, Ribeiro, Cai, Coelho, Sant’Anna, Mota (bib0078) 2013; 23
Takikawa, Strickland, Dimoulas, Tobin-Hochstadt, Felleisen (bib0090) 2012
Apel, Leich, Saake (bib0008) 2008; 34
Balzer, Eugster, Meyer (bib0011) 2006
Meyer (bib0065) 1992; 25
Apel, von Rhein, Thüm, Kästner (bib0010) 2013; 57
Benduhn, Thüm, Lochau, Leich, Saake (bib0019) 2015
Pohl, Böckle, van Der Linden (bib0070) 2005
Strickland, Felleisen (bib0089) 2010
Prehofer (bib0072) 1997
Dhara, Leavens (bib0035) 1996
Kästner, Apel, Ostermann (bib0049) 2011
Kiczales, Lamping, Mendhekar, Maeda, Lopes, Loingtier, Irwin (bib0053) 1997
Wampler (bib0099) 2007
Apel, Leich, Rosenmüller, Saake (bib0007) 2005
Leavens, G. T., Cheon, Y., 2006. Design by Contract with JML.
Liu, Batory, Lengauer (bib0061) 2006
Helm, Holland, Gangopadhyay (bib0045) 1990
Börger, Stark (bib0022) 2003
Thüm, Schaefer, Kuhlemann, Apel, Saake (bib0098) 2012
Beohar, Varshosaz, Mousavi (bib0020) 2016; 123
Robby, Rodríguez, Dwyer, Hatcliff (bib0081) 2006; 8
Agostinho, Moreira, Guerreiro (bib0002) 2008
Carmo Machado, McGregor, Cavalcanti, De Almeida (bib0028) 2014; 56
Clifton (bib0031) 2005
Rebêlo, Leavens, Lima, Borba, Ribeiro (bib0076) 2013
Lee, Muthig, Naab (bib0058) 2008
Leino (bib0059) 1998
Katz (bib0051) 2006; 1
Thüm, Schaefer, Kuhlemann, Apel (bib0097) 2011
Weiß (bib0101) 2011
Schaefer, Bettini, Bono, Damiani, Tanzarella (bib0082) 2010
Benduhn (bib0018) 2012
Thüm, Apel, Zelend, Schröter, Möller (bib0094) 2013
Clements, Northrop (bib0030) 2001
Gosling, Joy, Steele, Bracha (bib0039) 2005
Bubel, Din, Hähnle (bib0025) 2010
Apel, Hutchins (bib0005) 2010; 32
Batory (bib0014) 2006
Harrison, Ossher (bib0043) 1993
Clifton, Leavens (bib0032) 2002
Rebêlo, Lima, Cornélio, Soares (bib0077) 2008
Czarnecki, Eisenecker (bib0033) 2000
Findler, Felleisen (bib0037) 2002
America (bib0003) 1991
Leavens, G. T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Müller, P., Kiniry, J., Chalin, P., Zimmerman, D. M., Dietl, W., 2013. JML Reference Manual.
Abrial (bib0001) 2010
Burdy, Cheon, Cok, Ernst, Kiniry, Leavens, Leino, Poll (bib0026) 2005; 7
Höfner, Möller, Zelend (bib0047) 2012
Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G., 2017. Mastering software variability with featureide.
Thüm, Apel, Kästner, Schaefer, Saake (bib0093) 2014; 47
Mulet, Malenfant, Cointe (bib0069) 1995
Batory, Cardone, Smaragdakis (bib0015) 2000
Schaefer, Bettini, Damiani (bib0083) 2011
Kästner, Apel, Kuhlemann (bib0048) 2009
Liskov, Wing (bib0060) 1994; 16
Abrial (10.1016/j.jss.2019.01.044_bib0001) 2010
Schaefer (10.1016/j.jss.2019.01.044_bib0083) 2011
Thüm (10.1016/j.jss.2019.01.044_bib0095) 2014
Lorenz (10.1016/j.jss.2019.01.044_bib0062) 2005; abs/cs/0501070
Robby (10.1016/j.jss.2019.01.044_bib0081) 2006; 8
Rebêlo (10.1016/j.jss.2019.01.044_bib0077) 2008
Rebêlo (10.1016/j.jss.2019.01.044_bib0074) 2011
Hatcliff (10.1016/j.jss.2019.01.044_bib0044) 2012; 44
Kästner (10.1016/j.jss.2019.01.044_sbref0050) 2009
Smaragdakis (10.1016/j.jss.2019.01.044_bib0087) 2002; 11
Strickland (10.1016/j.jss.2019.01.044_bib0088) 2013; 35
Zhao (10.1016/j.jss.2019.01.044_bib0102) 2003
America (10.1016/j.jss.2019.01.044_bib0003) 1991
Thüm (10.1016/j.jss.2019.01.044_bib0092) 2015
Weiß (10.1016/j.jss.2019.01.044_bib0101) 2011
Batory (10.1016/j.jss.2019.01.044_bib0016) 2004; 30
Liu (10.1016/j.jss.2019.01.044_bib0061) 2006
Kiczales (10.1016/j.jss.2019.01.044_bib0053) 1997
Lee (10.1016/j.jss.2019.01.044_bib0058) 2008
Chalin (10.1016/j.jss.2019.01.044_bib0029) 2005
Thüm (10.1016/j.jss.2019.01.044_bib0098) 2012
Höfner (10.1016/j.jss.2019.01.044_bib0046) 2009
Findler (10.1016/j.jss.2019.01.044_bib0037) 2002
Dhara (10.1016/j.jss.2019.01.044_bib0035) 1996
Shinotsuka (10.1016/j.jss.2019.01.044_bib0086) 2006
Benduhn (10.1016/j.jss.2019.01.044_bib0019) 2015
Beckert (10.1016/j.jss.2019.01.044_bib0017) 2007
Findler (10.1016/j.jss.2019.01.044_bib0038) 2001
Carmo Machado (10.1016/j.jss.2019.01.044_bib0028) 2014; 56
Leavens (10.1016/j.jss.2019.01.044_bib0056) 2007
Tarr (10.1016/j.jss.2019.01.044_bib0091) 1999
Pohl (10.1016/j.jss.2019.01.044_bib0070) 2005
Mezini (10.1016/j.jss.2019.01.044_bib0066) 1998
Mulet (10.1016/j.jss.2019.01.044_bib0069) 1995
Bashardoust-Tajali (10.1016/j.jss.2019.01.044_bib0013) 2008
Apel (10.1016/j.jss.2019.01.044_bib0004) 2013
Hähnle (10.1016/j.jss.2019.01.044_bib0041) 2012
Gosling (10.1016/j.jss.2019.01.044_bib0039) 2005
Kiczales (10.1016/j.jss.2019.01.044_bib0052) 2001
Meyer (10.1016/j.jss.2019.01.044_bib0064) 1988
Thüm (10.1016/j.jss.2019.01.044_bib0097) 2011
Rebêlo (10.1016/j.jss.2019.01.044_bib0076) 2013
Katz (10.1016/j.jss.2019.01.044_bib0051) 2006; 1
Thüm (10.1016/j.jss.2019.01.044_bib0096) 2012
Kästner (10.1016/j.jss.2019.01.044_bib0048) 2009
10.1016/j.jss.2019.01.044_bib0055
Rebêlo (10.1016/j.jss.2019.01.044_bib0078) 2013; 23
Rebêlo (10.1016/j.jss.2019.01.044_bib0075) 2014
Harrison (10.1016/j.jss.2019.01.044_bib0043) 1993
10.1016/j.jss.2019.01.044_bib0057
Höfner (10.1016/j.jss.2019.01.044_bib0047) 2012
Bubel (10.1016/j.jss.2019.01.044_bib0025) 2010
Damiani (10.1016/j.jss.2019.01.044_bib0034) 2012
Farrell (10.1016/j.jss.2019.01.044_bib0036) 2017
Klaeren (10.1016/j.jss.2019.01.044_bib0054) 2001
Bolle (10.1016/j.jss.2019.01.044_sbref0021) 2017
Clifton (10.1016/j.jss.2019.01.044_bib0031) 2005
Czarnecki (10.1016/j.jss.2019.01.044_bib0033) 2000
Liskov (10.1016/j.jss.2019.01.044_bib0060) 1994; 16
Meyer (10.1016/j.jss.2019.01.044_bib0065) 1992; 25
Barnett (10.1016/j.jss.2019.01.044_bib0012) 2011; 54
10.1016/j.jss.2019.01.044_bib0063
Proksch (10.1016/j.jss.2019.01.044_bib0073) 2014
Calder (10.1016/j.jss.2019.01.044_bib0027) 2003; 41
Weigelt (10.1016/j.jss.2019.01.044_sbref0097) 2013
Apel (10.1016/j.jss.2019.01.044_bib0007) 2005
Pohl (10.1016/j.jss.2019.01.044_bib0071) 2005
Kästner (10.1016/j.jss.2019.01.044_bib0049) 2011
Thüm (10.1016/j.jss.2019.01.044_bib0094) 2013
Agostinho (10.1016/j.jss.2019.01.044_bib0002) 2008
Apel (10.1016/j.jss.2019.01.044_bib0006) 2013; 39
Bruns (10.1016/j.jss.2019.01.044_bib0024) 2011
Takikawa (10.1016/j.jss.2019.01.044_bib0090) 2012
Hähnle (10.1016/j.jss.2019.01.044_bib0042) 2013
Apel (10.1016/j.jss.2019.01.044_bib0010) 2013; 57
Prehofer (10.1016/j.jss.2019.01.044_bib0072) 1997
Schröter (10.1016/j.jss.2019.01.044_bib0085) 2013
Burdy (10.1016/j.jss.2019.01.044_bib0026) 2005; 7
Leino (10.1016/j.jss.2019.01.044_bib0059) 1998
Batory (10.1016/j.jss.2019.01.044_bib0015) 2000
Rebêlo (10.1016/j.jss.2019.01.044_bib0079) 2008
Börger (10.1016/j.jss.2019.01.044_bib0022) 2003
Bracha (10.1016/j.jss.2019.01.044_bib0023) 1990
Thüm (10.1016/j.jss.2019.01.044_bib0093) 2014; 47
Helm (10.1016/j.jss.2019.01.044_bib0045) 1990
Scholz (10.1016/j.jss.2019.01.044_bib0084) 2011
Molderez (10.1016/j.jss.2019.01.044_bib0067) 2012
Rhanoui (10.1016/j.jss.2019.01.044_bib0080) 2014; 11
Beohar (10.1016/j.jss.2019.01.044_bib0020) 2016; 123
Griswold (10.1016/j.jss.2019.01.044_bib0040) 2006; 23
Clifton (10.1016/j.jss.2019.01.044_bib0032) 2002
Schaefer (10.1016/j.jss.2019.01.044_bib0082) 2010
Apel (10.1016/j.jss.2019.01.044_bib0008) 2008; 34
Benduhn (10.1016/j.jss.2019.01.044_bib0018) 2012
Apel (10.1016/j.jss.2019.01.044_bib0005) 2010; 32
Strickland (10.1016/j.jss.2019.01.044_bib0089) 2010
Batory (10.1016/j.jss.2019.01.044_bib0014) 2006
Balzer (10.1016/j.jss.2019.01.044_bib0011) 2006
Apel (10.1016/j.jss.2019.01.044_bib0009) 2010; 75
Clements (10.1016/j.jss.2019.01.044_bib0030) 2001
Wampler (10.1016/j.jss.2019.01.044_bib0099) 2007
Molderez (10.1016/j.jss.2019.01.044_bib0068) 2015
References_xml – start-page: 145
  year: 2006
  end-page: 157
  ident: bib0011
  article-title: Can Aspects Implement Contracts?
– start-page: 411
  year: 1993
  end-page: 428
  ident: bib0043
  article-title: Subject-Oriented Programming: A Critique of Pure Objects
  publication-title: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
– year: 2014
  ident: bib0073
  article-title: Tool Support for Contracts in FeatureIDE
  publication-title: Technical Report FIN-001-2014
– start-page: 303
  year: 1990
  end-page: 311
  ident: bib0023
  article-title: Mixin-Based Inheritance
  publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP)
– year: 2010
  ident: bib0025
  article-title: Verification of Variable Software: An Experience Report
– year: 2000
  ident: bib0033
  article-title: Generative Programming: Methods, Tools, and Applications
– volume: 44
  start-page: 16:1
  year: 2012
  end-page: 16:58
  ident: bib0044
  article-title: Behavioral Interface Specification Languages
– start-page: 53
  year: 2012
  end-page: 60
  ident: bib0034
  article-title: A Transformational Proof System for Delta-Oriented Programming
– start-page: 152
  year: 2017
  end-page: 167
  ident: bib0036
  article-title: Specification clones: An empirical study of the structure of event-b specifications
  publication-title: International Conference on Software Engineering and Formal Methods
– start-page: 9
  year: 2012
  end-page: 14
  ident: bib0067
  article-title: Design by Contract for Aspects, by Aspects
  publication-title: Proceedings of the Workshop on Foundations of Aspect-Oriented Languages (FOAL)
– volume: 30
  start-page: 355
  year: 2004
  end-page: 371
  ident: bib0016
  article-title: Scaling Step-Wise Refinement
– year: 2005
  ident: bib0039
  article-title: The Java Language Specification, Third Edition
– start-page: 316
  year: 1995
  end-page: 330
  ident: bib0069
  article-title: Towards a Methodology for Explicit Composition of MetaObjects
  publication-title: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
– start-page: 157
  year: 2009
  end-page: 166
  ident: bib0048
  article-title: A Model of Refactoring Physically and Virtually Separated Features
  publication-title: Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE)
– year: 2010
  ident: bib0001
  article-title: Modeling in Event-B: System and Software Engineering
– volume: 23
  start-page: 51
  year: 2006
  end-page: 60
  ident: bib0040
  article-title: Modular Software Design with Crosscutting Interfaces
– start-page: 1:1
  year: 2008
  end-page: 1:6
  ident: bib0002
  article-title: Contracts for Aspect-Oriented Design
– reference: Leavens, G. T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Müller, P., Kiniry, J., Chalin, P., Zimmerman, D. M., Dietl, W., 2013. JML Reference Manual.
– start-page: 33
  year: 2002
  end-page: 44
  ident: bib0032
  article-title: Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning
  publication-title: Proceedings of the Workshop on Foundations of Aspect-Oriented Languages (FOAL)
– start-page: 97
  year: 2010
  end-page: 112
  ident: bib0089
  article-title: Contracts for First-Class Classes
– year: 2007
  ident: bib0017
  article-title: Verification of Object-Oriented Software: The KeY Approach
– start-page: 80
  year: 2015
  ident: bib0019
  article-title: A survey on modeling techniques for formal behavioral verification of software product lines
  publication-title: Proceedings of the Ninth International Workshop on Variability Modelling of Software-intensive Systems
– year: 2013
  ident: bib0100
  publication-title: Methoden-basierte Komposition von Kontrakten in Feature-orientierter Programmierung
– reference: Leavens, G. T., Cheon, Y., 2006. Design by Contract with JML.
– volume: 23
  start-page: 913
  year: 2013
  end-page: 942
  ident: bib0078
  article-title: Quantifying the Effects of Aspectual Decompositions on Design by Contract Modularization: A Maintenance Study
– volume: 35
  start-page: 11:1
  year: 2013
  end-page: 11:58
  ident: bib0088
  article-title: Contracts for First-Class Classes
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
– start-page: 1
  year: 2013
  end-page: 8
  ident: bib0094
  article-title: Subclack: Feature-Oriented Programming with Behavioral Feature Interfaces
– year: 2003
  ident: bib0022
  article-title: Abstract State Machines: A Method for High-Level System Design and Analysis
– volume: 7
  start-page: 212
  year: 2005
  end-page: 232
  ident: bib0026
  article-title: An Overview of JML Tools and Applications
– start-page: I6:1
  year: 2007
  end-page: I6:10
  ident: bib0099
  article-title: Aspect-Oriented Design Principles: Lessons from Object-Oriented Design
  publication-title: Proceedings of the International Conference on Aspect-Oriented Software Development (AOSD)
– year: 2005
  ident: bib0070
  article-title: Software product line engineering: foundations, principles and techniques
– volume: 11
  start-page: 215
  year: 2002
  end-page: 255
  ident: bib0087
  article-title: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs
– start-page: 541
  year: 2008
  end-page: 544
  ident: bib0077
  article-title: A JML Compiler Based on AspectJ
– start-page: 32
  year: 2012
  end-page: 46
  ident: bib0041
  article-title: A Liskov Principle for Delta-Oriented Programming
– volume: 57
  start-page: 2399
  year: 2013
  end-page: 2409
  ident: bib0010
  article-title: Feature-Interaction Detection Based on Feature-Based Specifications
– volume: 56
  start-page: 1183
  year: 2014
  end-page: 1199
  ident: bib0028
  article-title: On Strategies for Testing Software Product Lines: A Systematic Literature Review
– volume: 41
  start-page: 115
  year: 2003
  end-page: 141
  ident: bib0027
  article-title: Feature Interaction: A Critical Review and Considered Forecast
– year: 1988
  ident: bib0064
  article-title: Object-Oriented Software Construction
– start-page: 327
  year: 2001
  end-page: 354
  ident: bib0052
  article-title: An Overview of AspectJ
  publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP)
– start-page: 385
  year: 2007
  end-page: 395
  ident: bib0056
  article-title: Information Hiding and Visibility in Interface Specifications
  publication-title: Proceedings of the International Conference on Software Engineering (ICSE)
– start-page: 611
  year: 2009
  end-page: 614
  ident: bib0050
  article-title: FeatureIDE: A Tool Framework for Feature-Oriented Software Development
  publication-title: Proceedings of the International Conference on Software Engineering (ICSE)
– volume: 25
  start-page: 40
  year: 1992
  end-page: 51
  ident: bib0065
  article-title: Applying Design by Contract
– volume: 75
  start-page: 1022
  year: 2010
  end-page: 1047
  ident: bib0009
  article-title: An Algebraic Foundation for Automatic Feature-Based Program Synthesis
  publication-title: Sci. Comput. Program.
– start-page: 157
  year: 2014
  end-page: 168
  ident: bib0075
  article-title: AspectJML: Modular Specification and Runtime Checking for Crosscutting Contracts
  publication-title: Proceedings of the International Conference on Aspect-Oriented Software Development (AOSD)
– start-page: 270
  year: 2011
  end-page: 277
  ident: bib0097
  article-title: Proof Composition for Deductive Verification of Software Product Lines
– start-page: 33
  year: 2012
  end-page: 49
  ident: bib0047
  article-title: Foundations of Coloring Algebra with Consequences for Feature-Oriented Programming
– year: 2005
  ident: bib0031
  publication-title: A Design Discipline and Language Features for Modular Reasoning in Aspect-Oriented Programs
– start-page: 150
  year: 2003
  end-page: 165
  ident: bib0102
  article-title: Pipa: A Behavioral Interface Specification Language for AspectJ
  publication-title: Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE)
– start-page: 96
  year: 2013
  end-page: 99
  ident: bib0085
  article-title: Towards Modular Analysis of Multi Product Lines
– start-page: 11
  year: 2012
  end-page: 20
  ident: bib0096
  article-title: Family-Based Deductive Verification of Software Product Lines
  publication-title: Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE)
– year: 2005
  ident: bib0071
  article-title: Software Product Line Engineering: Foundations, Principles and Techniques
– volume: 11
  start-page: 172
  year: 2014
  end-page: 181
  ident: bib0080
  article-title: A Contractual Specification of Functional and Non-Functional Requirements of Domain-Specific Components
– start-page: 3
  year: 2015
  end-page: 59
  ident: bib0068
  article-title: Modular Reasoning in Aspect-Oriented Languages from a Substitution Perspective
– start-page: 98
  year: 2008
  end-page: 107
  ident: bib0013
  article-title: On Extracting Tests from a Testable Model in the Context of Domain Engineering
  publication-title: Proceedings of the International Conference on Engineering of Complex Computer Systems (ICECCS)
– start-page: 7:1
  year: 2011
  end-page: 7:6
  ident: bib0074
  article-title: On the Interplay of Exception Handling and Design by Contract: An Aspect-Oriented Recovery Approach
– start-page: 48
  year: 2002
  end-page: 59
  ident: bib0037
  article-title: Contracts for Higher-Order Functions
  publication-title: Proceedings of the International Conference on Functional Programming (ICFP)
– start-page: 275
  year: 2008
  end-page: 284
  ident: bib0058
  article-title: An Approach for Developing Service Oriented Product Lines
  publication-title: Proceedings of the International Software Product Line Conference (SPLC)
– start-page: 144
  year: 1998
  end-page: 153
  ident: bib0059
  article-title: Data Groups: Specifying the Modification of Extended State
  publication-title: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
– start-page: 300
  year: 2013
  end-page: 314
  ident: bib0042
  article-title: Reuse in Software Verification by Abstract Method Calls
– start-page: 7:1
  year: 2011
  end-page: 7:8
  ident: bib0084
  article-title: Automatic Detection of Feature Interactions Using the Java Modeling Language: An Experience Report
– start-page: 125
  year: 2005
  end-page: 140
  ident: bib0007
  article-title: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming
  publication-title: Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE)
– start-page: 227
  year: 2000
  end-page: 247
  ident: bib0015
  article-title: Object-Oriented Frameworks and Product Lines
  publication-title: Proceedings of the International Software Product Line Conference (SPLC)
– start-page: 75
  year: 2009
  end-page: 80
  ident: bib0046
  article-title: An Extension for Feature Algebra
– volume: 54
  start-page: 81
  year: 2011
  end-page: 91
  ident: bib0012
  article-title: Specification and Verification: The Spec# Experience
  publication-title: Communications of the ACM
– start-page: 11
  year: 2008
  end-page: 18
  ident: bib0079
  article-title: JML and Aspects: The Benefits of Instrumenting JML Features with AspectJ
– start-page: 112
  year: 2006
  end-page: 121
  ident: bib0061
  article-title: Feature Oriented Refactoring of Legacy Applications
  publication-title: Proceedings of the International Conference on Software Engineering (ICSE)
– year: 2015
  ident: bib0092
  publication-title: Product-Line Specification and Verification with Feature-Oriented Contracts
– start-page: 255
  year: 2012
  end-page: 269
  ident: bib0098
  article-title: Applying Design by Contract to Feature-Oriented Programming
  publication-title: Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE)
– start-page: 258
  year: 1996
  end-page: 267
  ident: bib0035
  article-title: Forcing Behavioral Subtyping through Specification Inheritance
  publication-title: Proceedings of the International Conference on Software Engineering (ICSE)
– start-page: 3
  year: 2006
  end-page: 35
  ident: bib0014
  article-title: A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite
  publication-title: Proceedings of the summer school on Generative and Transformational Techniques in Software Engineering (GTTSE)
– start-page: 97
  year: 1998
  end-page: 116
  ident: bib0066
  article-title: Adaptive Plug-and-Play Components for Evolutionary Software Development
  publication-title: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
– volume: 123
  start-page: 42
  year: 2016
  end-page: 60
  ident: bib0020
  article-title: Basic Behavioral Models for Software Product Lines
  publication-title: Sci. Comput. Program.
– start-page: 169
  year: 1990
  end-page: 180
  ident: bib0045
  article-title: Contracts: Specifying Behavioral Compositions in Object-Oriented Systems
  publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP)
– start-page: 77
  year: 2010
  end-page: 91
  ident: bib0082
  article-title: Delta-Oriented Programming of Software Product Lines
  publication-title: Proceedings of the International Software Product Line Conference (SPLC)
– volume: 32
  start-page: 19:1
  year: 2010
  end-page: 19:33
  ident: bib0005
  article-title: A Calculus for Uniform Feature Composition
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
– start-page: 793
  year: 2012
  end-page: 810
  ident: bib0090
  article-title: Gradual Typing for First-Class Classes
  publication-title: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)
– start-page: 107
  year: 1999
  end-page: 119
  ident: bib0091
  article-title: N Degrees of Separation: Multi-Dimensional Separation of Concerns
  publication-title: Proceedings of the International Conference on Software Engineering (ICSE)
– start-page: 342
  year: 2005
  end-page: 363
  ident: bib0029
  article-title: Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java2
– year: 2001
  ident: bib0030
  article-title: Software Product Lines: Practices and Patterns
– volume: 8
  start-page: 280
  year: 2006
  end-page: 299
  ident: bib0081
  article-title: Checking JML Specifications Using an Extensible Software Model Checking Framework
– volume: 34
  start-page: 162
  year: 2008
  end-page: 180
  ident: bib0008
  article-title: Aspectual Feature Modules
– year: 2012
  ident: bib0018
  publication-title: Contract-Aware Feature Composition
– start-page: 57
  year: 2001
  end-page: 69
  ident: bib0054
  article-title: Aspect Composition Applying the Design by Contract Principle
  publication-title: Proceedings of the International Conference on Generative and Component-Based Software Engineering (GCSE)
– year: 2013
  ident: bib0004
  article-title: Feature-Oriented Software Product Lines: Concepts and Implementation
– volume: 39
  start-page: 63
  year: 2013
  end-page: 79
  ident: bib0006
  article-title: Language-Independent and Automated Software Composition: The FeatureHouse Experience
– start-page: 229
  year: 2001
  end-page: 236
  ident: bib0038
  article-title: Behavioral Contracts and Behavioral Subtyping
  publication-title: Proceedings of the European Software Engineering Conference/Foundations of Software Engineering (ESECFSE)
– start-page: 61
  year: 2011
  end-page: 75
  ident: bib0024
  article-title: Verification of Software Product Lines with Delta-Oriented Slicing
– reference: Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G., 2017. Mastering software variability with featureide.
– start-page: 177
  year: 2014
  end-page: 186
  ident: bib0095
  article-title: Potential Synergies of Theorem Proving and Model Checking for Software Product Lines
  publication-title: Proceedings of the International Software Product Line Conference (SPLC)
– start-page: 13
  year: 2013
  end-page: 18
  ident: bib0076
  article-title: Modular Aspect-Oriented Design Rule Enforcement with XPIDRs
  publication-title: Proceedings of the Workshop on Foundations of Aspect-Oriented Languages (FOAL)
– volume: 47
  start-page: 6:1
  year: 2014
  end-page: 6:45
  ident: bib0093
  article-title: A Classification and Survey of Analysis Strategies for Software Product Lines
– volume: 1
  start-page: 106
  year: 2006
  end-page: 134
  ident: bib0051
  article-title: Aspect Categories and Classes of Temporal Properties
– start-page: 60
  year: 1991
  end-page: 90
  ident: bib0003
  article-title: Designing an Object-Oriented Programming Language with Behavioural Subtyping
– start-page: 220
  year: 1997
  end-page: 242
  ident: bib0053
  article-title: Aspect-Oriented Programming
  publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP)
– start-page: 1:1
  year: 2006
  end-page: 1:6
  ident: bib0086
  article-title: An Extensible Contract Verifier for AspectJ
– year: 2011
  ident: bib0101
  publication-title: Deductive Verification of Object-Oriented Software: Dynamic Frames, Dynamic Logic, and Predicate Abstraction
– volume: abs/cs/0501070
  year: 2005
  ident: bib0062
  article-title: Extending Design by Contract for Aspect-Oriented Programming
– start-page: 43
  year: 2011
  end-page: 56
  ident: bib0083
  article-title: Compositional Type-Checking for Delta-Oriented Programming
  publication-title: Proceedings of the International Conference on Aspect-Oriented Software Development (AOSD)
– start-page: 5:1
  year: 2011
  end-page: 5:8
  ident: bib0049
  article-title: The Road to Feature Modularity?
– year: 2017
  ident: bib0021
  publication-title: Feature-orientiertes Framing für die Verifikation von Software-Produktlinien
– volume: 16
  start-page: 1811
  year: 1994
  end-page: 1841
  ident: bib0060
  article-title: A Behavioral Notion of Subtyping
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
– start-page: 419
  year: 1997
  end-page: 443
  ident: bib0072
  article-title: Feature-Oriented Programming: A Fresh Look at Objects
  publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP)
– start-page: 157
  year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0075
  article-title: AspectJML: Modular Specification and Runtime Checking for Crosscutting Contracts
– start-page: 97
  year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0089
– volume: 39
  start-page: 63
  issue: 1
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0006
  article-title: Language-Independent and Automated Software Composition: The FeatureHouse Experience
– start-page: 258
  year: 1996
  ident: 10.1016/j.jss.2019.01.044_bib0035
  article-title: Forcing Behavioral Subtyping through Specification Inheritance
– volume: 23
  start-page: 913
  issue: 7
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0078
  article-title: Quantifying the Effects of Aspectual Decompositions on Design by Contract Modularization: A Maintenance Study
– start-page: 793
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0090
  article-title: Gradual Typing for First-Class Classes
– start-page: 342
  year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0029
– volume: 11
  start-page: 172
  issue: 2
  year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0080
  article-title: A Contractual Specification of Functional and Non-Functional Requirements of Domain-Specific Components
– volume: 57
  start-page: 2399
  issue: 12
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0010
  article-title: Feature-Interaction Detection Based on Feature-Based Specifications
– start-page: 227
  year: 2000
  ident: 10.1016/j.jss.2019.01.044_bib0015
  article-title: Object-Oriented Frameworks and Product Lines
– start-page: 112
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0061
  article-title: Feature Oriented Refactoring of Legacy Applications
– volume: 41
  start-page: 115
  issue: 1
  year: 2003
  ident: 10.1016/j.jss.2019.01.044_bib0027
  article-title: Feature Interaction: A Critical Review and Considered Forecast
– year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0025
– start-page: 229
  year: 2001
  ident: 10.1016/j.jss.2019.01.044_bib0038
  article-title: Behavioral Contracts and Behavioral Subtyping
– start-page: 125
  year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0007
  article-title: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming
– volume: 44
  start-page: 16:1
  issue: 3
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0044
  article-title: Behavioral Interface Specification Languages
– year: 2003
  ident: 10.1016/j.jss.2019.01.044_bib0022
– volume: 23
  start-page: 51
  issue: 1
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0040
  article-title: Modular Software Design with Crosscutting Interfaces
– start-page: 3
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0014
  article-title: A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite
– year: 2017
  ident: 10.1016/j.jss.2019.01.044_sbref0021
– start-page: 96
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0085
– start-page: 32
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0041
– start-page: 611
  year: 2009
  ident: 10.1016/j.jss.2019.01.044_sbref0050
  article-title: FeatureIDE: A Tool Framework for Feature-Oriented Software Development
– volume: 30
  start-page: 355
  issue: 6
  year: 2004
  ident: 10.1016/j.jss.2019.01.044_bib0016
  article-title: Scaling Step-Wise Refinement
– start-page: 300
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0042
– volume: 8
  start-page: 280
  issue: 3
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0081
  article-title: Checking JML Specifications Using an Extensible Software Model Checking Framework
– start-page: 327
  year: 2001
  ident: 10.1016/j.jss.2019.01.044_bib0052
  article-title: An Overview of AspectJ
– start-page: 275
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0058
  article-title: An Approach for Developing Service Oriented Product Lines
– start-page: 316
  year: 1995
  ident: 10.1016/j.jss.2019.01.044_bib0069
  article-title: Towards a Methodology for Explicit Composition of MetaObjects
– start-page: 145
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0011
– year: 2013
  ident: 10.1016/j.jss.2019.01.044_sbref0097
– volume: 75
  start-page: 1022
  issue: 11
  year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0009
  article-title: An Algebraic Foundation for Automatic Feature-Based Program Synthesis
  publication-title: Sci. Comput. Program.
  doi: 10.1016/j.scico.2010.02.001
– start-page: 385
  year: 2007
  ident: 10.1016/j.jss.2019.01.044_bib0056
  article-title: Information Hiding and Visibility in Interface Specifications
– start-page: 98
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0013
  article-title: On Extracting Tests from a Testable Model in the Context of Domain Engineering
– start-page: 97
  year: 1998
  ident: 10.1016/j.jss.2019.01.044_bib0066
  article-title: Adaptive Plug-and-Play Components for Evolutionary Software Development
– ident: 10.1016/j.jss.2019.01.044_bib0063
  doi: 10.1007/978-3-319-61443-4
– start-page: 3
  year: 2015
  ident: 10.1016/j.jss.2019.01.044_bib0068
– volume: 25
  start-page: 40
  issue: 10
  year: 1992
  ident: 10.1016/j.jss.2019.01.044_bib0065
  article-title: Applying Design by Contract
– start-page: 541
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0077
– start-page: 75
  year: 2009
  ident: 10.1016/j.jss.2019.01.044_bib0046
– start-page: 5:1
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0049
– year: 1988
  ident: 10.1016/j.jss.2019.01.044_bib0064
– start-page: 77
  year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0082
  article-title: Delta-Oriented Programming of Software Product Lines
– start-page: 144
  year: 1998
  ident: 10.1016/j.jss.2019.01.044_bib0059
  article-title: Data Groups: Specifying the Modification of Extended State
– start-page: 177
  year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0095
  article-title: Potential Synergies of Theorem Proving and Model Checking for Software Product Lines
– year: 2007
  ident: 10.1016/j.jss.2019.01.044_bib0017
– ident: 10.1016/j.jss.2019.01.044_bib0055
– volume: 47
  start-page: 6:1
  issue: 1
  year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0093
  article-title: A Classification and Survey of Analysis Strategies for Software Product Lines
– start-page: 53
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0034
– year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0031
– start-page: 1:1
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0002
– year: 2000
  ident: 10.1016/j.jss.2019.01.044_bib0033
– start-page: 270
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0097
– volume: 34
  start-page: 162
  issue: 2
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0008
  article-title: Aspectual Feature Modules
– start-page: I6:1
  year: 2007
  ident: 10.1016/j.jss.2019.01.044_bib0099
  article-title: Aspect-Oriented Design Principles: Lessons from Object-Oriented Design
– start-page: 13
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0076
  article-title: Modular Aspect-Oriented Design Rule Enforcement with XPIDRs
– start-page: 419
  year: 1997
  ident: 10.1016/j.jss.2019.01.044_bib0072
  article-title: Feature-Oriented Programming: A Fresh Look at Objects
– start-page: 7:1
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0074
– start-page: 255
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0098
  article-title: Applying Design by Contract to Feature-Oriented Programming
– year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0073
  article-title: Tool Support for Contracts in FeatureIDE
– volume: 54
  start-page: 81
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0012
  article-title: Specification and Verification: The Spec# Experience
  publication-title: Communications of the ACM
  doi: 10.1145/1953122.1953145
– start-page: 107
  year: 1999
  ident: 10.1016/j.jss.2019.01.044_bib0091
  article-title: N Degrees of Separation: Multi-Dimensional Separation of Concerns
– start-page: 152
  year: 2017
  ident: 10.1016/j.jss.2019.01.044_bib0036
  article-title: Specification clones: An empirical study of the structure of event-b specifications
– volume: 16
  start-page: 1811
  issue: 6
  year: 1994
  ident: 10.1016/j.jss.2019.01.044_bib0060
  article-title: A Behavioral Notion of Subtyping
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
  doi: 10.1145/197320.197383
– start-page: 7:1
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0084
– ident: 10.1016/j.jss.2019.01.044_bib0057
– year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0018
– year: 2015
  ident: 10.1016/j.jss.2019.01.044_bib0092
– start-page: 60
  year: 1991
  ident: 10.1016/j.jss.2019.01.044_bib0003
– start-page: 11
  year: 2008
  ident: 10.1016/j.jss.2019.01.044_bib0079
– start-page: 1:1
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0086
– start-page: 411
  year: 1993
  ident: 10.1016/j.jss.2019.01.044_bib0043
  article-title: Subject-Oriented Programming: A Critique of Pure Objects
– start-page: 220
  year: 1997
  ident: 10.1016/j.jss.2019.01.044_bib0053
  article-title: Aspect-Oriented Programming
– volume: 1
  start-page: 106
  year: 2006
  ident: 10.1016/j.jss.2019.01.044_bib0051
  article-title: Aspect Categories and Classes of Temporal Properties
– year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0039
– start-page: 61
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0024
– volume: 7
  start-page: 212
  issue: 3
  year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0026
  article-title: An Overview of JML Tools and Applications
– volume: 11
  start-page: 215
  issue: 2
  year: 2002
  ident: 10.1016/j.jss.2019.01.044_bib0087
  article-title: Mixin Layers: An Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs
– start-page: 48
  year: 2002
  ident: 10.1016/j.jss.2019.01.044_bib0037
  article-title: Contracts for Higher-Order Functions
– start-page: 303
  year: 1990
  ident: 10.1016/j.jss.2019.01.044_bib0023
  article-title: Mixin-Based Inheritance
– start-page: 43
  year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0083
  article-title: Compositional Type-Checking for Delta-Oriented Programming
– volume: 32
  start-page: 19:1
  issue: 5
  year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0005
  article-title: A Calculus for Uniform Feature Composition
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
  doi: 10.1145/1745312.1745316
– volume: 35
  start-page: 11:1
  issue: 3
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0088
  article-title: Contracts for First-Class Classes
  publication-title: ACM Transactions on Programming Languages and Systems (TOPLAS)
  doi: 10.1145/2518189
– volume: 123
  start-page: 42
  issue: C
  year: 2016
  ident: 10.1016/j.jss.2019.01.044_bib0020
  article-title: Basic Behavioral Models for Software Product Lines
  publication-title: Sci. Comput. Program.
  doi: 10.1016/j.scico.2015.06.005
– volume: 56
  start-page: 1183
  issue: 10
  year: 2014
  ident: 10.1016/j.jss.2019.01.044_bib0028
  article-title: On Strategies for Testing Software Product Lines: A Systematic Literature Review
– year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0070
– start-page: 157
  year: 2009
  ident: 10.1016/j.jss.2019.01.044_bib0048
  article-title: A Model of Refactoring Physically and Virtually Separated Features
– volume: abs/cs/0501070
  year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0062
  article-title: Extending Design by Contract for Aspect-Oriented Programming
– start-page: 33
  year: 2002
  ident: 10.1016/j.jss.2019.01.044_bib0032
  article-title: Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning
– start-page: 1
  year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0094
– year: 2013
  ident: 10.1016/j.jss.2019.01.044_bib0004
– start-page: 9
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0067
  article-title: Design by Contract for Aspects, by Aspects
– start-page: 33
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0047
– start-page: 150
  year: 2003
  ident: 10.1016/j.jss.2019.01.044_bib0102
  article-title: Pipa: A Behavioral Interface Specification Language for AspectJ
– start-page: 57
  year: 2001
  ident: 10.1016/j.jss.2019.01.044_bib0054
  article-title: Aspect Composition Applying the Design by Contract Principle
– start-page: 169
  year: 1990
  ident: 10.1016/j.jss.2019.01.044_bib0045
  article-title: Contracts: Specifying Behavioral Compositions in Object-Oriented Systems
– year: 2005
  ident: 10.1016/j.jss.2019.01.044_bib0071
– year: 2011
  ident: 10.1016/j.jss.2019.01.044_bib0101
– year: 2010
  ident: 10.1016/j.jss.2019.01.044_bib0001
– start-page: 11
  year: 2012
  ident: 10.1016/j.jss.2019.01.044_bib0096
  article-title: Family-Based Deductive Verification of Software Product Lines
– year: 2001
  ident: 10.1016/j.jss.2019.01.044_bib0030
– start-page: 80
  year: 2015
  ident: 10.1016/j.jss.2019.01.044_bib0019
  article-title: A survey on modeling techniques for formal behavioral verification of software product lines
SSID ssj0007202
Score 2.2794127
Snippet •Contract refinement in feature-oriented contract composition is seldom but crucial.•The Liskov substitution principle does not apply to features.•To handle...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 83
SubjectTerms Deductive verification
Design by contract
Feature-oriented programming
Formal methods
Software product lines
Title Feature-oriented contract composition
URI https://dx.doi.org/10.1016/j.jss.2019.01.044
Volume 152
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV09T8MwED31Y2HhG1E-qgywIJnGrp3EY4WoCkhdoFI3y3ZsqR3aqqQrvx3bcRBIsDAmyknOs_zunfx8BrgxnFtijUXMlgxRyxTiOSbIpkQyJSnVMrh8p9lkRp_nbN6Ch-YsjLdVRu6vOT2wdXwziGgONovF4NU3h8KOeZ0ECfuSbeiSIc9YB7qjp5fJ9IuQcxKsh_575AOazc1g81q--6bdmIfmnZT-np6-pZzxIexHrZiM6uEcQcusjuGguYchicvyBG69jtttDVr7psVOQibBgC51lXjHeLRlncJs_Pj2MEHx-gOkXU1Uocwwybh1BZ5xVJBlZZFTi1NFsDZUlVq7XM9yLq0uCWU6l0Xh5NLQeI0hCdPDM-is1itzDollWrtaRTl8NMUllgXJiWYWU6JswdMe3DV_LTZ1lwvR2L-WwkEkPEQixcJB1APa4CJ-TJVwLPx32MX_wi5hzz_V7qwr6FTbnbl2OqBSfWjff-B-nO1PUNewuA
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnZ09T8MwEIZPpQyw8I0onxlgQTKNHTuJR1RRFShdaKVuluPYUjuUqqQrvx3bcQRIsLAmtpSclffek5-cAa4154YYbRAzJUPUsALxDBNkYiJZISlV0lO-o3QwoU9TNm1Br_kXxmGVQftrTfdqHa50QzS7y9ms--qaQ2GrvNaC-H3JDdikLMkc13f38cV5ZMSDh240csObrU0Pec3fXctuzH3rTkp_T07fEk5_D3aCU4zu64fZh5ZeHMBucwpDFD7KQ7hxLm690ujNtSy2BjLy-LlUVeR48QBlHcGk_zDuDVA4_AApWxFVKNVMMm5seaetEKRpmWfU4LggWGlalErZTM8yLo0qCWUqk3luzVKincOQhKnkGNqLt4U-gcgwpWylUpCEK4pLLHOSEcUMpqQwOY87cNu8tVjWPS5EA3_NhQ2RcCESMRY2RB2gTVzEj4USVoP_nnb6v2lXsDUYvwzF8HH0fAbb7k7NaZ1Du1qt9YV1BFVx6Vf8E8LlsYM
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Feature-oriented+contract+composition&rft.jtitle=The+Journal+of+systems+and+software&rft.au=Th%C3%BCm%2C+Thomas&rft.au=Kn%C3%BCppel%2C+Alexander&rft.au=Kr%C3%BCger%2C+Stefan&rft.au=Bolle%2C+Stefanie&rft.date=2019-06-01&rft.issn=0164-1212&rft.volume=152&rft.spage=83&rft.epage=107&rft_id=info:doi/10.1016%2Fj.jss.2019.01.044&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jss_2019_01_044
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-1212&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-1212&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-1212&client=summon