What makes test programs similar in microservices applications?

The emergence of microservices architecture calls for novel methodologies and technological frameworks that support the design, development, and maintenance of applications structured according to this new architectural style. In this paper, we consider the issue of designing suitable strategies for...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 201; p. 111674
Main Authors De Angelis, Emanuele, De Angelis, Guglielmo, Pellegrini, Alessandro, Proietti, Maurizio
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.07.2023
Subjects
Online AccessGet full text
ISSN0164-1212
1873-1228
DOI10.1016/j.jss.2023.111674

Cover

Abstract The emergence of microservices architecture calls for novel methodologies and technological frameworks that support the design, development, and maintenance of applications structured according to this new architectural style. In this paper, we consider the issue of designing suitable strategies for the governance of testing activities within the microservices paradigm. We focus on the problem of discovering implicit relations between test programs that help to avoid re-running all the available test suites each time one of its constituents evolves. We propose a dynamic analysis technique and its supporting framework that collects information about the invocations of local and remote APIs. Information on test program execution is obtained in two ways: instrumenting the test program code or running a symbolic execution engine. The extracted information is processed by a rule-based automated reasoning engine, which infers implicit similarities among test programs. We show that our analysis technique can be used to support the reduction of test suites, and therefore has good application potential in the context of regression test optimisation. The proposed approach has been validated against two real-world microservices applications. •Support the design of regression testing strategies in microservices applications.•The dynamic analysis of test programs discloses their implicit relations.•Test programs’ information is collected by means of concrete and symbolic execution.•Similarities across test programs emerge by means of rule-based automated reasoning.•Criteria fostering effective decisions on which test programs shall be considered.
AbstractList The emergence of microservices architecture calls for novel methodologies and technological frameworks that support the design, development, and maintenance of applications structured according to this new architectural style. In this paper, we consider the issue of designing suitable strategies for the governance of testing activities within the microservices paradigm. We focus on the problem of discovering implicit relations between test programs that help to avoid re-running all the available test suites each time one of its constituents evolves. We propose a dynamic analysis technique and its supporting framework that collects information about the invocations of local and remote APIs. Information on test program execution is obtained in two ways: instrumenting the test program code or running a symbolic execution engine. The extracted information is processed by a rule-based automated reasoning engine, which infers implicit similarities among test programs. We show that our analysis technique can be used to support the reduction of test suites, and therefore has good application potential in the context of regression test optimisation. The proposed approach has been validated against two real-world microservices applications. •Support the design of regression testing strategies in microservices applications.•The dynamic analysis of test programs discloses their implicit relations.•Test programs’ information is collected by means of concrete and symbolic execution.•Similarities across test programs emerge by means of rule-based automated reasoning.•Criteria fostering effective decisions on which test programs shall be considered.
ArticleNumber 111674
Author Pellegrini, Alessandro
Proietti, Maurizio
De Angelis, Guglielmo
De Angelis, Emanuele
Author_xml – sequence: 1
  givenname: Emanuele
  orcidid: 0000-0002-7319-8439
  surname: De Angelis
  fullname: De Angelis, Emanuele
  email: emanuele.deangelis@iasi.cnr.it
  organization: IASI-CNR, Rome, Italy
– sequence: 2
  givenname: Guglielmo
  orcidid: 0000-0002-1076-0076
  surname: De Angelis
  fullname: De Angelis, Guglielmo
  email: guglielmo.deangelis@iasi.cnr.it
  organization: IASI-CNR, Rome, Italy
– sequence: 3
  givenname: Alessandro
  orcidid: 0000-0002-0179-9868
  surname: Pellegrini
  fullname: Pellegrini, Alessandro
  email: a.pellegrini@ing.uniroma2.it
  organization: IASI-CNR, Rome, Italy
– sequence: 4
  givenname: Maurizio
  orcidid: 0000-0003-3835-4931
  surname: Proietti
  fullname: Proietti, Maurizio
  email: maurizio.proietti@iasi.cnr.it
  organization: IASI-CNR, Rome, Italy
BookMark eNp9kE1Lw0AQhhdRsK3-AG_5A4k7m2w2wUOR4hcUvCgel-lmohubD3ZCwX_vlnr2NMPwvMPLsxTnwziQEDcgM5BQ3nZZx5wpqfIMAEpTnIkFVCZPQanqXCwiU8Qd1KVYMndSShPhhVh_fOGc9PhNnMzEczKF8TNgzwn73u8xJH5Ieu_CyBQO3kUMp2nvHc5-HHh9JS5a3DNd_82VeH98eNs8p9vXp5fN_TZ1qlZzCqWGot21ZCTtTF3nVVVKhYqK1iGiNHmryWhAVOVOx5uTTalrQO10VasmXwk4_T024UCtnYLvMfxYkPZowHY2GrBHA_ZkIGbuThmKxQ6egmXnaXDU-EButs3o_0n_AqsTZkw
Cites_doi 10.1016/j.infsof.2017.08.014
10.1109/QUATIC.2018.00016
10.1007/s10515-008-0025-9
10.1093/comjnl/bxm021
10.1080/08993400412331363843
10.1145/2408776.2408795
10.1145/3183628.3183631
10.1145/2642937.2642987
10.1002/stvr.225
10.1016/j.future.2019.05.048
10.1109/FOSM.2008.4659253
10.1007/s10009-016-0440-3
10.1007/s10515-011-0093-0
10.29007/qd4q
10.1002/stvr.430
10.1145/859670.859699
10.1007/s10664-018-9663-0
10.1145/248233.248262
10.1007/s10009-008-0091-0
10.1109/TSE.2013.2297120
10.1017/S1471068411000494
ContentType Journal Article
Copyright 2023 The Authors
Copyright_xml – notice: 2023 The Authors
DBID 6I.
AAFTH
AAYXX
CITATION
DOI 10.1016/j.jss.2023.111674
DatabaseName ScienceDirect Open Access Titles
Elsevier:ScienceDirect:Open Access
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1873-1228
ExternalDocumentID 10_1016_j_jss_2023_111674
S0164121223000699
GroupedDBID --K
--M
-~X
.DC
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
6I.
7-5
71M
8P~
9JN
9M8
AABNK
AACTN
AAEDT
AAEDW
AAFTH
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-c292t-16514fbfe70eb799388602a2e4fcaaa073f5e751aa26b5fcac0d6591a5c5892d3
IEDL.DBID AIKHN
ISSN 0164-1212
IngestDate Tue Jul 01 03:45:11 EDT 2025
Fri Feb 23 02:35:11 EST 2024
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Software testing
Automated reasoning
Test program similarity
Symbolic execution
Program instrumentation
Microservices architecture
Language English
License This is an open access article under the CC BY license.
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c292t-16514fbfe70eb799388602a2e4fcaaa073f5e751aa26b5fcac0d6591a5c5892d3
ORCID 0000-0002-1076-0076
0000-0003-3835-4931
0000-0002-7319-8439
0000-0002-0179-9868
OpenAccessLink https://www.sciencedirect.com/science/article/pii/S0164121223000699
ParticipantIDs crossref_primary_10_1016_j_jss_2023_111674
elsevier_sciencedirect_doi_10_1016_j_jss_2023_111674
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate July 2023
2023-07-00
PublicationDateYYYYMMDD 2023-07-01
PublicationDate_xml – month: 07
  year: 2023
  text: July 2023
PublicationDecade 2020
PublicationTitle The Journal of systems and software
PublicationYear 2023
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Lancaster, Culwin (b31) 2004; 14
Noor, Hemmati (b41) 2015
García, B., Lonetti, F., Gallego, M., Miranda, B., Jiménez, E., De Angelis, G., Moreira, C.E., Marchetti, E., 2018. A Proposal to Orchestrate Test Cases. In: Proc. of QUATIC. pp. 38–46.
Quenum, Aknine (b43) 2018
Vokolos, Frankl (b54) 1997
Yang, Li, Weiss (b61) 2009; 52
Miranda, Cruciani, Verdecchia, Bertolino (b39) 2018
Bruneton, Lenglet, Coupaye (b6) 2002; 30
Wang, Jiang, Chen (b56) 2015
Cadar, Sen (b9) 2013; 56
Nivethithaa, Krishnapriya (b40) 2018; 06
De Angelis, De Angelis, Pellegrini, Proietti (b15) 2021
Hoffmann, Janiczak, Mandrikov, Friedenhagen (b27) 2022
De Angelis, Fioravanti, Pettorossi, Proietti (b16) 2016; Vol. 9837
Hillah, Maesano, De Rosa, Kordon, Wuillemin, Fontanelli, Bona, Guerri, Maesano (b26) 2017; 19
Armando, Mantovani, Platania (b1) 2009; 11
Sotomayor, Allala, Santiago, King, Clarke (b50) 2022
Visser, Pasareanu, Khurshid (b53) 2004
Hao, Zhang, Pan, Mei, Sun (b24) 2008; 15
Lewis, Fowler (b34) 2014
Spadini, Aniche, Bruntink, Bacchelli (b51) 2018; 24
Baldoni, Coppa, D’Elia, Demetrescu, Finocchi (b2) 2018; 51
Collingbourne, Cadar, Kelly (b14) 2014; 40
Gupta, Harrold, Soffa (b23) 1992; Vol. 92
Kazmi, Jawawi, Mohamad, Ghani (b29) 2017; 50
Felsing, D., Grebing, S., Klebanov, V., Rümmer, P., Ulbrich, M., 2014. Automating regression verification. In: Proc. of ASE. pp. 349–360.
Evans, Fraser (b18) 2003; 46
Ledru, Petrenko, Boroday, Mandran (b33) 2012; 19
Gazzola, Goldstein, Mariani, Segall, Ussi (b21) 2020
Paterson, Campos, Abreu, Kapfhammer, Fraser, McMinn (b42) 2019
Meinke, Nycander (b37) 2015; Vol. 9509
Yau, Kishimoto (b62) 1987
Khatibsyarbini, Isa, Jawawi, Tumeng (b30) 2018; 93
Rahman, Chen, Gao (b44) 2015
Walenstein, El-Ramly, Cordy, Evans, Mahdavi, Pizka, Ramalingam, von Gudenberg (b55) 2007; Vol. 6301
Meudec (b38) 2001; 11
Waseem, Liang, Márquez, Salle (b58) 2020
De Angelis, Pellegrini, Proietti (b17) 2021
Wielemaker, Schrijvers, Triska, Lager (b59) 2012; 12
Mariani, Papagiannakis, Pezzè (b36) 2007
Vahabzadeh, A., Stocco, A., Mesbah, A., 2018. Fine-grained Test Minimization. In: Proc. of ICSE. pp. 210–221.
Rothermel, Harrold (b46) 1997; 6
Yoo, Harman (b63) 2012; 22
Raman, Bezawada, Rajinikanth, Sathyanarayan (b45) 2017; Vol. 507
Bruno, Canfora, Penta, Esposito, Mazza (b7) 2005; Vol.3826
Laski, Szermer (b32) 1992
Sen (b48) 2007
Cadar, Engler (b8) 2005; Vol. 3639
Braione, Denaro, Pezzè (b5) 2016
Sheneamer, Kalita (b49) 2016; 137
Williams, Marre, Mouy, Roger (b60) 2005; Vol. 3463
Wang, Wu (b57) 2017
Chiba (b12) 2000; Vol. 1850
Harrold, M.J., Orso, A., 2008. Retesting software during development and maintenance. In: Proc. of Frontiers of Software Maintenance. pp. 99–108.
Schulz, Angerstein, Okanović, van Hoorn (b47) 2019
Clemson (b13) 2014
Braione, Denaro, Mattavelli, Pezzè (b4) 2018
Bertolino, De Angelis, Lonetti (b3) 2019
Godefroid, Klarlund, Sen (b22) 2005
Camilli, Bellettini, Capra, Monga (b10) 2018
Ma, Fan, Chuang, Liu, Lan (b35) 2019; 100
Johnston, Burnett (b28) 2012
Cerny, Donahoo, Trnka (b11) 2018; 17
Laski (10.1016/j.jss.2023.111674_b32) 1992
Clemson (10.1016/j.jss.2023.111674_b13) 2014
Yau (10.1016/j.jss.2023.111674_b62) 1987
Lancaster (10.1016/j.jss.2023.111674_b31) 2004; 14
10.1016/j.jss.2023.111674_b20
Quenum (10.1016/j.jss.2023.111674_b43) 2018
Sotomayor (10.1016/j.jss.2023.111674_b50) 2022
Baldoni (10.1016/j.jss.2023.111674_b2) 2018; 51
10.1016/j.jss.2023.111674_b25
Bruneton (10.1016/j.jss.2023.111674_b6) 2002; 30
Vokolos (10.1016/j.jss.2023.111674_b54) 1997
Mariani (10.1016/j.jss.2023.111674_b36) 2007
Noor (10.1016/j.jss.2023.111674_b41) 2015
Spadini (10.1016/j.jss.2023.111674_b51) 2018; 24
Chiba (10.1016/j.jss.2023.111674_b12) 2000; Vol. 1850
Braione (10.1016/j.jss.2023.111674_b5) 2016
Collingbourne (10.1016/j.jss.2023.111674_b14) 2014; 40
Raman (10.1016/j.jss.2023.111674_b45) 2017; Vol. 507
Rothermel (10.1016/j.jss.2023.111674_b46) 1997; 6
Bertolino (10.1016/j.jss.2023.111674_b3) 2019
Gupta (10.1016/j.jss.2023.111674_b23) 1992; Vol. 92
Sen (10.1016/j.jss.2023.111674_b48) 2007
De Angelis (10.1016/j.jss.2023.111674_b16) 2016; Vol. 9837
De Angelis (10.1016/j.jss.2023.111674_b15) 2021
Waseem (10.1016/j.jss.2023.111674_b58) 2020
Hao (10.1016/j.jss.2023.111674_b24) 2008; 15
Rahman (10.1016/j.jss.2023.111674_b44) 2015
Godefroid (10.1016/j.jss.2023.111674_b22) 2005
Wang (10.1016/j.jss.2023.111674_b57) 2017
Schulz (10.1016/j.jss.2023.111674_b47) 2019
Meudec (10.1016/j.jss.2023.111674_b38) 2001; 11
Yang (10.1016/j.jss.2023.111674_b61) 2009; 52
De Angelis (10.1016/j.jss.2023.111674_b17) 2021
Ledru (10.1016/j.jss.2023.111674_b33) 2012; 19
Wielemaker (10.1016/j.jss.2023.111674_b59) 2012; 12
Paterson (10.1016/j.jss.2023.111674_b42) 2019
Ma (10.1016/j.jss.2023.111674_b35) 2019; 100
Cadar (10.1016/j.jss.2023.111674_b8) 2005; Vol. 3639
Camilli (10.1016/j.jss.2023.111674_b10) 2018
Gazzola (10.1016/j.jss.2023.111674_b21) 2020
Hoffmann (10.1016/j.jss.2023.111674_b27) 2022
Meinke (10.1016/j.jss.2023.111674_b37) 2015; Vol. 9509
Sheneamer (10.1016/j.jss.2023.111674_b49) 2016; 137
Braione (10.1016/j.jss.2023.111674_b4) 2018
Evans (10.1016/j.jss.2023.111674_b18) 2003; 46
Yoo (10.1016/j.jss.2023.111674_b63) 2012; 22
Armando (10.1016/j.jss.2023.111674_b1) 2009; 11
Johnston (10.1016/j.jss.2023.111674_b28) 2012
Cadar (10.1016/j.jss.2023.111674_b9) 2013; 56
Lewis (10.1016/j.jss.2023.111674_b34) 2014
Cerny (10.1016/j.jss.2023.111674_b11) 2018; 17
Walenstein (10.1016/j.jss.2023.111674_b55) 2007; Vol. 6301
Kazmi (10.1016/j.jss.2023.111674_b29) 2017; 50
Wang (10.1016/j.jss.2023.111674_b56) 2015
Bruno (10.1016/j.jss.2023.111674_b7) 2005; Vol.3826
10.1016/j.jss.2023.111674_b52
Williams (10.1016/j.jss.2023.111674_b60) 2005; Vol. 3463
Nivethithaa (10.1016/j.jss.2023.111674_b40) 2018; 06
Miranda (10.1016/j.jss.2023.111674_b39) 2018
Hillah (10.1016/j.jss.2023.111674_b26) 2017; 19
10.1016/j.jss.2023.111674_b19
Khatibsyarbini (10.1016/j.jss.2023.111674_b30) 2018; 93
Visser (10.1016/j.jss.2023.111674_b53) 2004
References_xml – volume: 14
  start-page: 101
  year: 2004
  end-page: 112
  ident: b31
  article-title: A comparison of source code plagiarism detection engines
  publication-title: Comput. Sci. Educ.
– volume: 22
  start-page: 67
  year: 2012
  end-page: 120
  ident: b63
  article-title: Regression testing minimization, selection and prioritization: a survey
  publication-title: Softw. Test. Verif. Reliab.
– start-page: 41
  year: 2018
  end-page: 48
  ident: b43
  article-title: Towards executable specifications for microservices
  publication-title: Proc. of SCC
– reference: García, B., Lonetti, F., Gallego, M., Miranda, B., Jiménez, E., De Angelis, G., Moreira, C.E., Marchetti, E., 2018. A Proposal to Orchestrate Test Cases. In: Proc. of QUATIC. pp. 38–46.
– volume: 6
  start-page: 173
  year: 1997
  end-page: 210
  ident: b46
  article-title: A safe, efficient regression test selection technique
  publication-title: ACM Trans. Softw. Eng. Methodol. (TOSEM)
– volume: 24
  start-page: 1461
  year: 2018
  end-page: 1498
  ident: b51
  article-title: Mock objects for testing java systems
  publication-title: Empir. Softw. Eng.
– start-page: 222
  year: 2018
  end-page: 232
  ident: b39
  article-title: FAST approaches to scalable similarity-based test case prioritization
  publication-title: Proceedings of the 40th International Conference on Software Engineering
– volume: 19
  start-page: 281
  year: 2017
  end-page: 308
  ident: b26
  article-title: Automation and intelligent scheduling of distributed system functional testing
  publication-title: Int. J. Softw. Tools Technol. Transf.
– start-page: 97
  year: 2004
  end-page: 107
  ident: b53
  article-title: Test input generation with java PathFinder
  publication-title: Proc. of ISSTA
– volume: 30
  year: 2002
  ident: b6
  article-title: ASM: a code manipulation tool to implement adaptable systems
  publication-title: Adaptable Extensible Compon. Syst.
– volume: Vol. 6301
  start-page: 1
  year: 2007
  end-page: 8
  ident: b55
  article-title: Similarity in programs
  publication-title: Duplication, Redundancy, and Similarity in Software
– volume: 11
  start-page: 69
  year: 2009
  end-page: 83
  ident: b1
  article-title: Bounded model checking of software using SMT solvers instead of SAT solvers
  publication-title: Int. J. Softw. Tools Technol. Transf.
– start-page: 213
  year: 2005
  end-page: 223
  ident: b22
  article-title: DART: directed automated random testing
  publication-title: Proc. of PLDI
– volume: Vol. 92
  start-page: 299
  year: 1992
  end-page: 308
  ident: b23
  article-title: An approach to regression testing using slicing
  publication-title: ICSM
– start-page: 3
  year: 1997
  end-page: 21
  ident: b54
  article-title: Pythia: A regression test selection tool based on textual differencing
  publication-title: Reliability, Quality and Safety of Software-Intensive Systems
– start-page: 6
  year: 2015
  ident: b56
  article-title: Similarity-based regression test case prioritization
  publication-title: Proceedings of the International Conference on Software Engineering and Knowledge Engineering
– start-page: 119
  year: 2020
  end-page: 128
  ident: b58
  article-title: Testing microservices architecture-based applications: A systematic mapping study
  publication-title: Proc. of APSEC
– volume: 06
  start-page: 81
  year: 2018
  end-page: 85
  ident: b40
  article-title: A brief survey on symbolic execution test-selection techniques
  publication-title: Int. J. Comput. Sci. Eng.
– start-page: 144
  year: 2019
  end-page: 148
  ident: b3
  article-title: Governing regression testing in systems of systems
  publication-title: Proc. of ISSRE Workshops, GAUSS
– volume: 12
  start-page: 67
  year: 2012
  end-page: 96
  ident: b59
  article-title: Swi-prolog
  publication-title: Theory Pract. Logic Program.
– volume: Vol. 507
  start-page: 321
  year: 2017
  end-page: 330
  ident: b45
  article-title: Static program behavior tracing for program similarity quantification
  publication-title: Proceedings of the First International Conference on Computational Intelligence and Informatics
– volume: 56
  start-page: 82
  year: 2013
  end-page: 90
  ident: b9
  article-title: Symbolic execution for software testing: three decades later
  publication-title: Commun. ACM
– start-page: 571
  year: 2007
  end-page: 572
  ident: b48
  article-title: Concolic testing
  publication-title: Proc. of ASE
– start-page: 346
  year: 2019
  end-page: 357
  ident: b42
  article-title: An empirical study on the use of defect prediction for test case prioritization
  publication-title: Proc. of ICST
– volume: 17
  start-page: 29
  year: 2018
  end-page: 45
  ident: b11
  article-title: Contextual understanding of microservice architecture: current and future directions
  publication-title: ACM SIGAPP Appl. Comput. Rev.
– reference: Harrold, M.J., Orso, A., 2008. Retesting software during development and maintenance. In: Proc. of Frontiers of Software Maintenance. pp. 99–108.
– start-page: 319
  year: 2017
  end-page: 330
  ident: b57
  article-title: In-memory fuzzing for binary code similarity analysis
  publication-title: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering
– start-page: 323
  year: 2019
  end-page: 335
  ident: b47
  article-title: Microservice-tailored generation of session-based workload models for representative load testing
  publication-title: 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems
– year: 2012
  ident: b28
  article-title: WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web
– start-page: 282
  year: 1992
  end-page: 283
  ident: b32
  article-title: Identification of program modifications and its applications in software maintenance
  publication-title: Proceedings Conference on Software Maintenance 1992
– volume: 50
  start-page: 29:1
  year: 2017
  end-page: 29:32
  ident: b29
  article-title: Effective regression test case selection: A systematic literature review
  publication-title: ACM Comput. Surv.
– start-page: 129
  year: 2021
  end-page: 136
  ident: b17
  article-title: Automatic extraction of behavioral features for test program similarity analysis
  publication-title: Proc. of ISSRE Workshops, GAUSS
– year: 2014
  ident: b13
  article-title: Testing strategies in a microservice architecture
– volume: 15
  start-page: 207
  year: 2008
  end-page: 249
  ident: b24
  article-title: On similarity-awareness in testing-based fault localization
  publication-title: Automated Softw. Eng.
– volume: 100
  start-page: 724
  year: 2019
  end-page: 735
  ident: b35
  article-title: Graph-based and scenario-driven microservice analysis, retrieval, and testing
  publication-title: Future Gener. Comput. Syst.
– start-page: 58
  year: 2015
  end-page: 68
  ident: b41
  article-title: A similarity-based approach for test case prioritization using historical failure data
  publication-title: Proceedings of the 26th International Symposium on Software Reliability Engineering
– volume: 93
  start-page: 74
  year: 2018
  end-page: 93
  ident: b30
  article-title: Test case prioritization approaches in regression testing: A systematic literature review
  publication-title: Inf. Softw. Technol.
– volume: Vol. 3463
  start-page: 281
  year: 2005
  end-page: 292
  ident: b60
  article-title: PathCrawler: Automatic generation of path tests by combining static and dynamic analysis
  publication-title: Proc. of EDCC
– start-page: 114
  year: 2021
  end-page: 123
  ident: b15
  article-title: Inferring relations among test programs in microservices applications
  publication-title: Proceedings of the 15th IEEE International Conference on Service Oriented Systems Engineering
– start-page: 187
  year: 2018
  end-page: 202
  ident: b10
  article-title: A formal framework for specifying and verifying microservices based process flows
  publication-title: Software Engineering and Formal Methods
– start-page: 85
  year: 2007
  end-page: 95
  ident: b36
  article-title: Compatibility and regression testing of COTS-component-based software
  publication-title: Proc. of ICSE
– volume: Vol. 9509
  start-page: 3
  year: 2015
  end-page: 10
  ident: b37
  article-title: Learning-based testing of distributed microservice architectures: Correctness and fault injection
  publication-title: Proc. of SEFM 2015 Collocated Workshops
– start-page: 21
  year: 2018
  end-page: 24
  ident: b4
  article-title: SUSHI: a test generator for programs with complex structured inputs
  publication-title: Proc. of ICSE
– volume: 19
  start-page: 65
  year: 2012
  end-page: 95
  ident: b33
  article-title: Prioritizing test cases with string distances
  publication-title: Autom. Softw. Eng.
– volume: 46
  start-page: 61
  year: 2003
  end-page: 66
  ident: b18
  article-title: Grammar-based compression of interpreted code
  publication-title: Commun. ACM
– volume: Vol. 1850
  start-page: 313
  year: 2000
  end-page: 336
  ident: b12
  article-title: Load-Time structural reflection in java
  publication-title: ECOOP 2000 — Object-Oriented Programming
– volume: 40
  start-page: 710
  year: 2014
  end-page: 737
  ident: b14
  article-title: Symbolic crosschecking of data-parallel floating-point code
  publication-title: IEEE Trans. Softw. Eng.
– volume: 11
  start-page: 81
  year: 2001
  end-page: 96
  ident: b38
  article-title: ATGen: automatic test data generation using constraint logic programming and symbolic execution
  publication-title: Softw. Test. Verif. Reliab.
– start-page: 1018
  year: 2016
  end-page: 1022
  ident: b5
  article-title: JBSE: A symbolic executor for Java programs with complex heap inputs
  publication-title: Proc. of FSE
– volume: Vol. 3639
  start-page: 2
  year: 2005
  end-page: 23
  ident: b8
  article-title: Execution generated test cases: How to make systems code crash itself
  publication-title: Proc. of Int. Workshop SPIN
– reference: Felsing, D., Grebing, S., Klebanov, V., Rümmer, P., Ulbrich, M., 2014. Automating regression verification. In: Proc. of ASE. pp. 349–360.
– volume: Vol. 9837
  start-page: 147
  year: 2016
  end-page: 169
  ident: b16
  article-title: Relational verification through horn clause transformation
  publication-title: Proc. of SAS
– volume: Vol.3826
  start-page: 87
  year: 2005
  end-page: 100
  ident: b7
  article-title: Using test cases as contract to ensure service compliance across releases
  publication-title: Proc. of ICSOC
– start-page: 11
  year: 2020
  end-page: 20
  ident: b21
  article-title: Automatic ex-vivo regression testing of microservices
  publication-title: Proc. of AST
– start-page: 153
  year: 2015
  end-page: 160
  ident: b44
  article-title: A service framework for parallel test execution on a developer’s local development workstation
  publication-title: 2015 IEEE Symposium on Service-Oriented System Engineering
– volume: 51
  start-page: 50:1
  year: 2018
  end-page: 50:39
  ident: b2
  article-title: A survey of symbolic execution techniques
  publication-title: ACM Comput. Surv.
– year: 2022
  ident: b27
  article-title: Jacoco code coverage library
– volume: 52
  start-page: 589
  year: 2009
  end-page: 597
  ident: b61
  article-title: A survey of Coverage-Based testing tools
  publication-title: Comput. J.
– volume: 137
  start-page: 1
  year: 2016
  end-page: 21
  ident: b49
  article-title: A survey of software clone detection techniques
  publication-title: Int. J. Comput. Appl.
– start-page: 272
  year: 1987
  end-page: 277
  ident: b62
  article-title: Method for revalidating modified programs in the maintenance phase
  publication-title: Proceedings-IEEE Computer Society’s International Computer Software & Applications Conference
– reference: Vahabzadeh, A., Stocco, A., Mesbah, A., 2018. Fine-grained Test Minimization. In: Proc. of ICSE. pp. 210–221.
– year: 2022
  ident: b50
  article-title: Comparison of open-source runtime testing tools for microservices
  publication-title: Softw. Qual. J.
– year: 2014
  ident: b34
  article-title: Microservices, a definition of this new architectural term
– start-page: 119
  year: 2020
  ident: 10.1016/j.jss.2023.111674_b58
  article-title: Testing microservices architecture-based applications: A systematic mapping study
– volume: 30
  issue: 19
  year: 2002
  ident: 10.1016/j.jss.2023.111674_b6
  article-title: ASM: a code manipulation tool to implement adaptable systems
  publication-title: Adaptable Extensible Compon. Syst.
– volume: 93
  start-page: 74
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b30
  article-title: Test case prioritization approaches in regression testing: A systematic literature review
  publication-title: Inf. Softw. Technol.
  doi: 10.1016/j.infsof.2017.08.014
– start-page: 21
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b4
  article-title: SUSHI: a test generator for programs with complex structured inputs
– volume: 50
  start-page: 29:1
  issue: 2
  year: 2017
  ident: 10.1016/j.jss.2023.111674_b29
  article-title: Effective regression test case selection: A systematic literature review
  publication-title: ACM Comput. Surv.
– year: 2012
  ident: 10.1016/j.jss.2023.111674_b28
– start-page: 144
  year: 2019
  ident: 10.1016/j.jss.2023.111674_b3
  article-title: Governing regression testing in systems of systems
– start-page: 97
  year: 2004
  ident: 10.1016/j.jss.2023.111674_b53
  article-title: Test input generation with java PathFinder
– start-page: 3
  year: 1997
  ident: 10.1016/j.jss.2023.111674_b54
  article-title: Pythia: A regression test selection tool based on textual differencing
– volume: Vol. 92
  start-page: 299
  year: 1992
  ident: 10.1016/j.jss.2023.111674_b23
  article-title: An approach to regression testing using slicing
– start-page: 187
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b10
  article-title: A formal framework for specifying and verifying microservices based process flows
– start-page: 222
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b39
  article-title: FAST approaches to scalable similarity-based test case prioritization
– ident: 10.1016/j.jss.2023.111674_b20
  doi: 10.1109/QUATIC.2018.00016
– volume: 15
  start-page: 207
  issue: 2
  year: 2008
  ident: 10.1016/j.jss.2023.111674_b24
  article-title: On similarity-awareness in testing-based fault localization
  publication-title: Automated Softw. Eng.
  doi: 10.1007/s10515-008-0025-9
– year: 2014
  ident: 10.1016/j.jss.2023.111674_b13
– volume: 52
  start-page: 589
  issue: 5
  year: 2009
  ident: 10.1016/j.jss.2023.111674_b61
  article-title: A survey of Coverage-Based testing tools
  publication-title: Comput. J.
  doi: 10.1093/comjnl/bxm021
– start-page: 153
  year: 2015
  ident: 10.1016/j.jss.2023.111674_b44
  article-title: A service framework for parallel test execution on a developer’s local development workstation
– volume: Vol.3826
  start-page: 87
  year: 2005
  ident: 10.1016/j.jss.2023.111674_b7
  article-title: Using test cases as contract to ensure service compliance across releases
– start-page: 282
  year: 1992
  ident: 10.1016/j.jss.2023.111674_b32
  article-title: Identification of program modifications and its applications in software maintenance
– volume: 14
  start-page: 101
  issue: 2
  year: 2004
  ident: 10.1016/j.jss.2023.111674_b31
  article-title: A comparison of source code plagiarism detection engines
  publication-title: Comput. Sci. Educ.
  doi: 10.1080/08993400412331363843
– volume: Vol. 1850
  start-page: 313
  year: 2000
  ident: 10.1016/j.jss.2023.111674_b12
  article-title: Load-Time structural reflection in java
– volume: 56
  start-page: 82
  issue: 2
  year: 2013
  ident: 10.1016/j.jss.2023.111674_b9
  article-title: Symbolic execution for software testing: three decades later
  publication-title: Commun. ACM
  doi: 10.1145/2408776.2408795
– volume: 17
  start-page: 29
  issue: 4
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b11
  article-title: Contextual understanding of microservice architecture: current and future directions
  publication-title: ACM SIGAPP Appl. Comput. Rev.
  doi: 10.1145/3183628.3183631
– start-page: 571
  year: 2007
  ident: 10.1016/j.jss.2023.111674_b48
  article-title: Concolic testing
– start-page: 114
  year: 2021
  ident: 10.1016/j.jss.2023.111674_b15
  article-title: Inferring relations among test programs in microservices applications
– ident: 10.1016/j.jss.2023.111674_b19
  doi: 10.1145/2642937.2642987
– volume: 11
  start-page: 81
  issue: 2
  year: 2001
  ident: 10.1016/j.jss.2023.111674_b38
  article-title: ATGen: automatic test data generation using constraint logic programming and symbolic execution
  publication-title: Softw. Test. Verif. Reliab.
  doi: 10.1002/stvr.225
– start-page: 213
  year: 2005
  ident: 10.1016/j.jss.2023.111674_b22
  article-title: DART: directed automated random testing
– start-page: 129
  year: 2021
  ident: 10.1016/j.jss.2023.111674_b17
  article-title: Automatic extraction of behavioral features for test program similarity analysis
– volume: 100
  start-page: 724
  year: 2019
  ident: 10.1016/j.jss.2023.111674_b35
  article-title: Graph-based and scenario-driven microservice analysis, retrieval, and testing
  publication-title: Future Gener. Comput. Syst.
  doi: 10.1016/j.future.2019.05.048
– volume: Vol. 3639
  start-page: 2
  year: 2005
  ident: 10.1016/j.jss.2023.111674_b8
  article-title: Execution generated test cases: How to make systems code crash itself
– start-page: 346
  year: 2019
  ident: 10.1016/j.jss.2023.111674_b42
  article-title: An empirical study on the use of defect prediction for test case prioritization
– volume: 137
  start-page: 1
  issue: 10
  year: 2016
  ident: 10.1016/j.jss.2023.111674_b49
  article-title: A survey of software clone detection techniques
  publication-title: Int. J. Comput. Appl.
– ident: 10.1016/j.jss.2023.111674_b25
  doi: 10.1109/FOSM.2008.4659253
– volume: 19
  start-page: 281
  issue: 3
  year: 2017
  ident: 10.1016/j.jss.2023.111674_b26
  article-title: Automation and intelligent scheduling of distributed system functional testing
  publication-title: Int. J. Softw. Tools Technol. Transf.
  doi: 10.1007/s10009-016-0440-3
– volume: 19
  start-page: 65
  issue: 1
  year: 2012
  ident: 10.1016/j.jss.2023.111674_b33
  article-title: Prioritizing test cases with string distances
  publication-title: Autom. Softw. Eng.
  doi: 10.1007/s10515-011-0093-0
– volume: Vol. 9509
  start-page: 3
  year: 2015
  ident: 10.1016/j.jss.2023.111674_b37
  article-title: Learning-based testing of distributed microservice architectures: Correctness and fault injection
– start-page: 319
  year: 2017
  ident: 10.1016/j.jss.2023.111674_b57
  article-title: In-memory fuzzing for binary code similarity analysis
– year: 2022
  ident: 10.1016/j.jss.2023.111674_b50
  article-title: Comparison of open-source runtime testing tools for microservices
  publication-title: Softw. Qual. J.
– ident: 10.1016/j.jss.2023.111674_b52
  doi: 10.29007/qd4q
– year: 2014
  ident: 10.1016/j.jss.2023.111674_b34
– start-page: 1018
  year: 2016
  ident: 10.1016/j.jss.2023.111674_b5
  article-title: JBSE: A symbolic executor for Java programs with complex heap inputs
– volume: 22
  start-page: 67
  issue: 2
  year: 2012
  ident: 10.1016/j.jss.2023.111674_b63
  article-title: Regression testing minimization, selection and prioritization: a survey
  publication-title: Softw. Test. Verif. Reliab.
  doi: 10.1002/stvr.430
– volume: Vol. 9837
  start-page: 147
  year: 2016
  ident: 10.1016/j.jss.2023.111674_b16
  article-title: Relational verification through horn clause transformation
– volume: Vol. 6301
  start-page: 1
  year: 2007
  ident: 10.1016/j.jss.2023.111674_b55
  article-title: Similarity in programs
– volume: 46
  start-page: 61
  issue: 8
  year: 2003
  ident: 10.1016/j.jss.2023.111674_b18
  article-title: Grammar-based compression of interpreted code
  publication-title: Commun. ACM
  doi: 10.1145/859670.859699
– volume: Vol. 3463
  start-page: 281
  year: 2005
  ident: 10.1016/j.jss.2023.111674_b60
  article-title: PathCrawler: Automatic generation of path tests by combining static and dynamic analysis
– volume: 51
  start-page: 50:1
  issue: 3
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b2
  article-title: A survey of symbolic execution techniques
  publication-title: ACM Comput. Surv.
– start-page: 323
  year: 2019
  ident: 10.1016/j.jss.2023.111674_b47
  article-title: Microservice-tailored generation of session-based workload models for representative load testing
– start-page: 11
  year: 2020
  ident: 10.1016/j.jss.2023.111674_b21
  article-title: Automatic ex-vivo regression testing of microservices
– start-page: 272
  year: 1987
  ident: 10.1016/j.jss.2023.111674_b62
  article-title: Method for revalidating modified programs in the maintenance phase
– volume: Vol. 507
  start-page: 321
  year: 2017
  ident: 10.1016/j.jss.2023.111674_b45
  article-title: Static program behavior tracing for program similarity quantification
– start-page: 41
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b43
  article-title: Towards executable specifications for microservices
– start-page: 6
  year: 2015
  ident: 10.1016/j.jss.2023.111674_b56
  article-title: Similarity-based regression test case prioritization
– start-page: 58
  year: 2015
  ident: 10.1016/j.jss.2023.111674_b41
  article-title: A similarity-based approach for test case prioritization using historical failure data
– volume: 24
  start-page: 1461
  issue: 3
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b51
  article-title: Mock objects for testing java systems
  publication-title: Empir. Softw. Eng.
  doi: 10.1007/s10664-018-9663-0
– volume: 6
  start-page: 173
  issue: 2
  year: 1997
  ident: 10.1016/j.jss.2023.111674_b46
  article-title: A safe, efficient regression test selection technique
  publication-title: ACM Trans. Softw. Eng. Methodol. (TOSEM)
  doi: 10.1145/248233.248262
– year: 2022
  ident: 10.1016/j.jss.2023.111674_b27
– volume: 11
  start-page: 69
  issue: 1
  year: 2009
  ident: 10.1016/j.jss.2023.111674_b1
  article-title: Bounded model checking of software using SMT solvers instead of SAT solvers
  publication-title: Int. J. Softw. Tools Technol. Transf.
  doi: 10.1007/s10009-008-0091-0
– start-page: 85
  year: 2007
  ident: 10.1016/j.jss.2023.111674_b36
  article-title: Compatibility and regression testing of COTS-component-based software
– volume: 40
  start-page: 710
  issue: 7
  year: 2014
  ident: 10.1016/j.jss.2023.111674_b14
  article-title: Symbolic crosschecking of data-parallel floating-point code
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/TSE.2013.2297120
– volume: 12
  start-page: 67
  issue: 1–2
  year: 2012
  ident: 10.1016/j.jss.2023.111674_b59
  article-title: Swi-prolog
  publication-title: Theory Pract. Logic Program.
  doi: 10.1017/S1471068411000494
– volume: 06
  start-page: 81
  issue: 08
  year: 2018
  ident: 10.1016/j.jss.2023.111674_b40
  article-title: A brief survey on symbolic execution test-selection techniques
  publication-title: Int. J. Comput. Sci. Eng.
SSID ssj0007202
Score 2.3765035
Snippet The emergence of microservices architecture calls for novel methodologies and technological frameworks that support the design, development, and maintenance of...
SourceID crossref
elsevier
SourceType Index Database
Publisher
StartPage 111674
SubjectTerms Automated reasoning
Microservices architecture
Program instrumentation
Software testing
Symbolic execution
Test program similarity
Title What makes test programs similar in microservices applications?
URI https://dx.doi.org/10.1016/j.jss.2023.111674
Volume 201
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1NS8NAEB36cfHit1g_yh48CWuTbTbJnkoplqrQixZ6W3aTDaTSWEy8-tvdaTZSQS8es2QgTLJv3jIvbwBuRBiI1PdimonMoxYlQyoCHlNty7lSPEIPOFRbzMPZInhc8mULJs2_MCirdNhfY_oWrd3KwGVzsMnzwTOaQ_kWeS2JRr9d0YYus9U-7kB3_PA0m38DcsS20kO8n2JA09zcyrxWJZp2syFiRxgFv5ennZIzPYR9xxXJuH6cI2iZ4hgOmjkMxG3LExih_zZZq1dTEsscK-JEVyUp83Vuj64kL8galXelQway27cencJiev8ymVE3GIEmTLCK-qGlOZnOTOQZHVmGEeMkKcVMkCVKKbtrM24i7ivFQs3tWuKlIRe-4gmPBUuHZ9Ap3gpzDgQN5A1LfC9NNXIpxXSqmT1FZNivZEEPbpt8yE3tfyEbYdhK2uRJTJ6sk9eDoMmY_PESpcXnv8Mu_hd2CXt4VWtnr6BTvX-Ya8sQKt2H9t2n33ffwRfXEbi1
linkProvider Elsevier
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1NT8JAEJ0gHPTitxE_9-DJZEO77PbjRAiRFEEuQsKt2W23STEgsfX_u0O3BhO9eN12kmbaffM28_oG4CH0eJi6TkCzMHOoQUmPhlwEVJlyLqXw0QMO1RZTL5rz54VYNGBQ_wuDskqL_RWmb9HarnRsNjubPO-8ojmUa5DXkGj02w33oMVxqHUTWv3ROJp-A7LPttJDvJ9iQN3c3Mq8lgWadrMuYofn89_L007JGR7DoeWKpF89zgk09PoUjuo5DMRuyzPoof82Wck3XRDDHEtiRVcFKfJVbo6uJF-TFSrvCosMZLdv3TuH-fBpNoioHYxAExaykrqeoTmZyrTvaOUbhhHgJCnJNM8SKaXZtZnQvnClZJ4SZi1xUk-ErhSJCEKWdi-guX5f60sgaCCvWeI6aaqQS0mmUsXMKSLDfiXjbXis8xFvKv-LuBaGLWOTvBiTF1fJawOvMxb_eImxwee_w67-F3YP-9HsZRJPRtPxNRzglUpHewPN8uNT3xq2UKo7-zV8ATfyups
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=What+makes+test+programs+similar+in+microservices+applications%3F&rft.jtitle=The+Journal+of+systems+and+software&rft.au=De+Angelis%2C+Emanuele&rft.au=De+Angelis%2C+Guglielmo&rft.au=Pellegrini%2C+Alessandro&rft.au=Proietti%2C+Maurizio&rft.date=2023-07-01&rft.pub=Elsevier+Inc&rft.issn=0164-1212&rft.eissn=1873-1228&rft.volume=201&rft_id=info:doi/10.1016%2Fj.jss.2023.111674&rft.externalDocID=S0164121223000699
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