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