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...
Saved in:
Published in | The Journal of systems and software Vol. 152; pp. 83 - 107 |
---|---|
Main Authors | , , , , |
Format | Journal Article |
Language | English |
Published |
Elsevier Inc
01.06.2019
|
Subjects | |
Online Access | Get full text |
ISSN | 0164-1212 1873-1228 |
DOI | 10.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 |