Refactoring practices in the context of data-intensive systems
Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well explored. Understanding the refactoring practices of developer...
Saved in:
Published in | Empirical software engineering : an international journal Vol. 28; no. 2; p. 46 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
New York
Springer US
01.03.2023
Springer Nature B.V |
Subjects | |
Online Access | Get full text |
ISSN | 1382-3256 1573-7616 |
DOI | 10.1007/s10664-022-10271-x |
Cover
Loading…
Abstract | Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well explored. Understanding the refactoring practices of developers is important to develop efficient tool support. We conducted a longitudinal study of refactoring activities in data-access classes using 29 SQL and NoSQL database based data-intensive systems. We investigated the prevalence, co-occurrence, and evolution of data-access refactorings, and the association of data-access refactorings with data-access smells. We also conducted a manual analysis of 500 samples of data-access refactoring instances to identify the functionalities of the code that are targeted by such refactorings. Furthermore, we analyzed 500 sample data-access refactoring commits to understand the context behind the applied refactorings and explored the characteristics and contribution of developers involved in the refactorings. We also conducted a developer survey to complement our analysis on the subject systems. Our results show that data-access refactorings are prevalent and different in type. Most of the data-access refactorings target codes that implement data fetching and insertion, but they mostly do not modify data-access queries. Most of the data-access refactorings are done when adding or modifying features and during bug fixes. data-access refactoring is often performed by developers with higher development and refactoring experience. Overall, the results show that data-access refactorings focus on improving the code quality but not optimizing the underlying data-access operations by fixing data-access smells. Hence, more work is needed from the research community on providing awareness and support to practitioners on the benefits of addressing data-access smells with refactorings. |
---|---|
AbstractList | Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well explored. Understanding the refactoring practices of developers is important to develop efficient tool support. We conducted a longitudinal study of refactoring activities in data-access classes using 29 SQL and NoSQL database based data-intensive systems. We investigated the prevalence, co-occurrence, and evolution of data-access refactorings, and the association of data-access refactorings with data-access smells. We also conducted a manual analysis of 500 samples of data-access refactoring instances to identify the functionalities of the code that are targeted by such refactorings. Furthermore, we analyzed 500 sample data-access refactoring commits to understand the context behind the applied refactorings and explored the characteristics and contribution of developers involved in the refactorings. We also conducted a developer survey to complement our analysis on the subject systems. Our results show that data-access refactorings are prevalent and different in type. Most of the data-access refactorings target codes that implement data fetching and insertion, but they mostly do not modify data-access queries. Most of the data-access refactorings are done when adding or modifying features and during bug fixes. data-access refactoring is often performed by developers with higher development and refactoring experience. Overall, the results show that data-access refactorings focus on improving the code quality but not optimizing the underlying data-access operations by fixing data-access smells. Hence, more work is needed from the research community on providing awareness and support to practitioners on the benefits of addressing data-access smells with refactorings. |
ArticleNumber | 46 |
Author | Khomh, Foutse Muse, Biruk Asmare Antoniol, Giuliano |
Author_xml | – sequence: 1 givenname: Biruk Asmare orcidid: 0000-0001-8861-9526 surname: Muse fullname: Muse, Biruk Asmare email: biruk-asmare.muse@polymtl.ca organization: Polytechnique Montréal – sequence: 2 givenname: Foutse surname: Khomh fullname: Khomh, Foutse organization: Polytechnique Montréal – sequence: 3 givenname: Giuliano surname: Antoniol fullname: Antoniol, Giuliano organization: Polytechnique Montréal |
BookMark | eNp9kMtKw0AUhgepYFt9AVcB16NzP5ONIMUbFATR9TBNTjTFJnFmKu3bOzWCO1fnP_Bf4JuRSdd3SMg5Z5ecMbiKnBmjKBOCciaA090RmXINkoLhZpK1tIJKoc0JmcW4ZoyVoPSUXD9j46vUh7Z7K4aQZVthLNquSO9YVH2XcJeKvilqnzxt89vF9guLuI8JN_GUHDf-I-LZ752T17vbl8UDXT7dPy5ulrQSwBJd8dpI3tS2Aa4A0CrgxmqUvmw8Kuml1wpq8Kw2WGlhUa7QSu1XQii0Ws7Jxdg7hP5zizG5db8NXZ50AsBYMKUus0uMrir0MQZs3BDajQ97x5k7cHIjJ5c5uR9ObpdDcgzF4QABw1_1P6lvPsZtLg |
Cites_doi | 10.1145/3242163.3242169 10.1007/s10664-022-10119-4 10.1145/1882291.1882353 10.5281/zenodo.7140854 10.1145/3522664.3528621 10.1145/3236024.3264598 10.1007/11785477_24 10.1109/VLHCC.2018.8506577 10.1007/978-3-319-39696-5_30 10.1145/2642937.2642982 10.1007/978-3-642-29044-2 10.1109/SEAA.2018.00066 10.1109/TSE.2020.2974469 10.1145/253262.253325 10.1145/3183519.3183529 10.1145/2950290.2950305 10.1016/j.ins.2014.01.015 10.1109/ICPC.2019.00025 10.1007/s00766-018-0293-2 10.1007/s10270-019-00730-3 10.1109/SANER53432.2022.00014 10.1145/170036.170072 10.1109/MS.2006.105 10.1145/2468356.2468382 10.1109/SCAM.2017.19 10.1109/ICSME.2019.00029 10.1109/TSE.2020.3007722 10.1145/3522664.3528590 10.1145/3183440.3183496 10.1109/TKDE.2017.2772252 10.1109/TSE.2020.2968072 10.1109/SANER.2019.8668012 10.1109/MOBILESoft.2019.00030 10.1007/3-540-45672-4_31 10.1109/SNPD.2017.8022723 10.1145/3183440.3195030 10.1109/SEAA.2019.00058 10.1145/3379597.3387467 10.1007/978-981-15-4851-2_28 10.1016/j.scico.2019.05.002 10.1145/3131151.3131171 |
ContentType | Journal Article |
Copyright | The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2023. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law. |
Copyright_xml | – notice: The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2023. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law. |
DBID | AAYXX CITATION 7SC 8FD 8FE 8FG ABJCF AFKRA ARAPS BENPR BGLVJ CCPQU DWQXO HCIFZ JQ2 L6V L7M L~C L~D M7S P5Z P62 PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS S0W |
DOI | 10.1007/s10664-022-10271-x |
DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection Materials Science & Engineering Collection ProQuest Central UK/Ireland Advanced Technologies & Aerospace Collection ProQuest Central (New) Technology Collection ProQuest One ProQuest Central Korea SciTech Premium Collection ProQuest Computer Science Collection ProQuest Engineering Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Engineering Database Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection DELNET Engineering & Technology Collection |
DatabaseTitle | CrossRef Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Computer Science Collection Computer and Information Systems Abstracts SciTech Premium Collection ProQuest One Community College ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest Central Korea ProQuest Central (New) Advanced Technologies Database with Aerospace Engineering Collection Advanced Technologies & Aerospace Collection Engineering Database ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest DELNET Engineering and Technology Collection Materials Science & Engineering Collection ProQuest One Academic ProQuest One Academic (New) |
DatabaseTitleList | Technology Collection |
Database_xml | – sequence: 1 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1573-7616 |
ExternalDocumentID | 10_1007_s10664_022_10271_x |
GrantInformation_xml | – fundername: Fonds de recherche du Québec – Nature et technologies funderid: https://doi.org/10.13039/501100003151 – fundername: Natural Sciences and Engineering Research Council of Canada (NSERC) |
GroupedDBID | -4Z -59 -5G -BR -EM -Y2 -~C .86 .DC .VR 06D 0R~ 0VY 199 1N0 1SB 2.D 203 28- 29G 2J2 2JN 2JY 2KG 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5GY 5QI 5VS 67Z 6NX 78A 8FE 8FG 8TC 8UJ 95- 95. 95~ 96X AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AAOBN AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYOK AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJCF ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACIWK ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADIMF ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFIE AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AENEX AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFEXP AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN B-. BA0 BBWZM BDATZ BENPR BGLVJ BGNMA BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EBLON EBS EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ KDC KOV KOW L6V LAK LLZTM M4Y M7S MA- N2Q NB0 NDZJH NPVJJ NQJWS NU0 O9- O93 O9G O9I O9J OAM P19 P62 P9O PF0 PT4 PT5 PTHSS Q2X QOK QOS R4E R89 R9I RHV RNI RNS ROL RPX RSV RZC RZE RZK S0W S16 S1Z S26 S27 S28 S3B SAP SCJ SCLPG SCO SDH SDM SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 T16 TSG TSK TSV TUC U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 YLTOR Z45 Z7R Z7S Z7V Z7X Z7Z Z81 Z83 Z86 Z88 Z8M Z8N Z8P Z8R Z8T Z8U Z8W Z92 ZMTXR ~EX AAPKM AAYXX ABBRH ABDBE ABFSG ACSTC ADHKG AEZWR AFDZB AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT 7SC 8FD ABRTQ DWQXO JQ2 L7M L~C L~D PKEHL PQEST PQGLB PQQKQ PQUKI PRINS |
ID | FETCH-LOGICAL-c270t-b1d631fd8f71477e8471685e3a9fae43a3a547d7a0d6ec528e3be835ab224e853 |
IEDL.DBID | U2A |
ISSN | 1382-3256 |
IngestDate | Fri Jul 25 19:01:18 EDT 2025 Tue Jul 01 03:32:21 EDT 2025 Fri Feb 21 02:43:30 EST 2025 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 2 |
Keywords | Data-access classes Data-intensive systems Database access Empirical study |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c270t-b1d631fd8f71477e8471685e3a9fae43a3a547d7a0d6ec528e3be835ab224e853 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
ORCID | 0000-0001-8861-9526 |
PQID | 2776876959 |
PQPubID | 326341 |
ParticipantIDs | proquest_journals_2776876959 crossref_primary_10_1007_s10664_022_10271_x springer_journals_10_1007_s10664_022_10271_x |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2023-03-01 |
PublicationDateYYYYMMDD | 2023-03-01 |
PublicationDate_xml | – month: 03 year: 2023 text: 2023-03-01 day: 01 |
PublicationDecade | 2020 |
PublicationPlace | New York |
PublicationPlace_xml | – name: New York – name: Dordrecht |
PublicationSubtitle | An International Journal |
PublicationTitle | Empirical software engineering : an international journal |
PublicationTitleAbbrev | Empir Software Eng |
PublicationYear | 2023 |
Publisher | Springer US Springer Nature B.V |
Publisher_xml | – name: Springer US – name: Springer Nature B.V |
References | Ferreira I, Fernandes E, Cedrim D, Uchôa A, Bibiano AC, Garcia A, Correia JL, Santos F, Nunes G, Barbosa C et al (2018) The buggy side of code refactoring: Understanding the relationship between refactorings and bugs. In: Proceedings of the 40th international conference on software engineering: companion proceeedings, pp 406–407 KurtanovićZMaalejWOn user rationale in software engineeringRequir Eng201823335737910.1007/s00766-018-0293-2 ChenCPZhangCYData-intensive applications, challenges, techniques and technologies: A survey on big dataInf Sci201427531434710.1016/j.ins.2014.01.015 Muse BA, Khomh F, Antoniol G (2022) Do developers refactor data access code? an empirical study. In: the 29th IEEE international conference on software analysis, evolution and reengineering(SANER) FowlerMRefactoring: Improving the design of existing codeExtreme Program Agile Methods–XP/Agil Universe2002200225610.1007/3-540-45672-4_311020.68632 Sharma T, Fragkoulis M, Rizou S, Bruntink M, Spinellis D (2018) Smelly relations: Measuring and understanding database schema quality. In: 2018 IEEE/ACM 40th international conference on software engineering: software engineering in practice track (ICSE-SEIP), pp 55–64 Meurice L, Nagy C, Cleve A (2016) Static analysis of dynamic database usage in Java systems. In: International conference on advanced information systems engineering. Springer, pp 491–506 Zhou C, Kuttal SK, Ahmed I (2018) What makes a good developer? an empirical study of developers’ technical and social competencies. In: 2018 IEEE symposium on visual languages and human-centric computing (VL/HCC). IEEE, pp 319–321 WohlinCRunesonPHöstMOhlssonMCRegnellBWesslénAExperimentation in software engineering2012BerlinSpringer Science & Business Media10.1007/978-3-642-29044-21069.68547 Khumnin P, Senivongse T (2017) SQL antipatterns detection and database refactoring process. In: 2017 18th IEEE/ACIS international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD), pp 199–205 ArzamasovaNSchälerMBöhmKCleaning antipatterns in an SQL query logIEEE Trans Knowl Data Eng201830342143410.1109/TKDE.2017.2772252 Mahmoudi M, Nadi S, Tsantalis N (2019) Are refactorings to blame? an empirical study of refactorings in merge conflicts. In: 2019 IEEE 26th international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 151–162 Agrawal R, Srikant R, et al. (1994) Fast algorithms for mining association rules. In: Proc. 20th int. conf. very large data bases, VLDB, vol 1215. Citeseer, pp 487–499 Spadini D, Aniche M, Bacchelli A (2018) PyDriller: Python Framework for Mining Software Repositories. https://doi.org/10.1145/3236024.3264598 PedregosaFVaroquauxGGramfortAMichelVThirionBGriselOBlondelMPrettenhoferPWeissRDubourgVVanderplasJPassosACournapeauDBrucherMPerrotMDuchesnayEScikit-learn: Machine learning in PythonJ Mach Learn Res2011122825283028543481280.68189 Falleri JR, Morandat F, Blanc X, Martinez M, Monperrus M (2014) Fine-grained and accurate source code differencing. In: Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, pp 313–324 Muse BA, Khomh F, Antoniol G (2022) Replication package: Refactoring Practices in the Context of Data-intensive Systems. https://doi.org/10.5281/zenodo.7140854 Tsantalis N, Ketkar A, Dig D (2020) Refactoringminer 2.0. IEEE Transactions on Software Engineering. https://doi.org/10.1109/TSE.2020.3007722 VassalloCGranoGPalombaFGallHCBacchelliAA large-scale empirical exploration on refactoring activities in open source software projectsSci Comput Program201918011510.1016/j.scico.2019.05.002 ZhouJWangSBezemerCPZouYHassanAEStudying the association between bountysource bounties and the issue-addressing likelihood of Github issue reportsIEEE Trans Softw Eng202147122919293310.1109/TSE.2020.2974469 Brin S, Motwani R, Ullman JD, Tsur S (1997) Dynamic itemset counting and implication rules for market basket data. In: Proceedings of the 1997 ACM SIGMOD international conference on Management of data, pp 255–264 MuseBANagyCCleveAKhomhFAntoniolGFIXME: synchronize with database! an empirical study of data access self-admitted technical debtEmpir Softw Eng202227613010.1007/s10664-022-10119-4 Nagy C, Cleve A (2017) A static code smell detector for SQL queries embedded in Java code. In: 2017 IEEE 17th international working conference on source code analysis and manipulation (SCAM). IEEE, pp 147–152 Nagy C, Cleve A (2018) SQLInspect: A static analyzer to inspect database usage in Java applications. In: Proceedings of the 40th international conference on software engineering: companion proceedings. ACM, pp 93–96 Dig D, Comertoglu C, Marinov D, Johnson R (2006) Automated detection of refactorings in evolving components. In: European conference on object-oriented programming. Springer, pp 404–428 Silva D, Tsantalis N, Valente MT (2016) Why we refactor? confessions of Github contributors. In: Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering, pp 858–870 Karwin B (2010) SQL Antipatterns: Avoiding the pitfalls of database programming Pragmatic Bookshelf Shome A, Cruz L, van Deursen A (2022) Data smells in public datasets. In: Crnkovic I (ed) Proceedings of the 1st international conference on AI engineering: software engineering for AI, CAIN 2022, Pittsburgh, Pennsylvania, May 16-24, 2022. https://doi.org/10.1145/3522664.3528621. ACM, pp 205–216 PerumaAMkaouerMWDeckerMJNewmanCDContextualizing rename decisions using refactorings, commit messages, and data typesJ Syst Softw2020169110704 Hummel O, Eichelberger H, Giloj A, Werle D, Schmid K (2018) A collection of software engineering challenges for big data system development. In: 2018 44th euromicro conference on software engineering and advanced applications (SEAA). IEEE, pp 362–369 Kim M, Gee M, Loh A, Rachatasumrit N (2010) Ref-finder: a refactoring reconstruction tool based on logic query templates. In: Proceedings of the 18th ACM SIGSOFT international symposium on Foundations of software engineering, pp 371–372 Park B, Rao DL, Gudivada VN (2021) Dangers of bias in data-intensive information systems. In: Deshpande P, Abraham A, Iyer B, Ma K (eds) Next generation information processing system. Springer Singapore, Singapore, pp 259–271 Silva D, Silva J, Santos GJDS, Terra R, Valente MTO (2020) Refdiff 2.0: A multi-language refactoring detection tool. IEEE Trans Softw Eng de Almeida Filho FG, Martins ADF, Vinuto TdS, Monteiro JM, de Sousa ÍP, de Castro Machado J, Rocha LS (2019) Prevalence of bad smells in PL/SQL projects. In: Proceedings of the 27th international conference on program comprehension. IEEE Press, pp 116–121 MurphyGCKerstenMFindlaterLHow are java software developers using the elipse ide?IEEE Softw2006234768310.1109/MS.2006.105 Chávez A, Ferreira I, Fernandes E, Cedrim D, Garcia A (2017) How does refactoring affect internal quality attributes? a multi-project study. In: Proceedings of the 31st Brazilian symposium on software engineering, pp 74–83 Piatetsky S, Frawley G, William J (1991) Discovery, analysis and presentation of strong rules knowledge discovery in databases McDonald N, Goggins S (2013) Performance and participation in open source software on Github. In: CHI’13 extended abstracts on human factors in computing systems, pp 139–144 Muse BA, Rahman MM, Nagy C, Cleve A, Khomh F, Antoniol G (2020) On the prevalence, impact, and evolution of SQL code smells in data-intensive systems. In: Proceedings of the 17th international conference on mining software repositories, pp 327–338 Perez-PalacinDMerseguerJRequenoJIGuerrieroMDi NittoETamburriDAA UML profile for the design, quality assessment and deployment of data-intensive applicationsSoftw Syst Model20191863577361410.1007/s10270-019-00730-3 CramerHMathematical methods of statistics1946PrincetonPrinceton U, Press5005000063.01014 Foidl H, Felderer M, Ramler R (2022) Data smells: categories, causes and consequences, and detection of suspicious data in ai-based systems. In: Crnkovic I (ed) Proceedings of the 1st international conference on AI engineering: software engineering for AI, CAIN 2022, Pittsburgh, Pennsylvania, May 16-24, 2022. https://doi.org/10.1145/3522664.3528590. ACM, pp 229–239 Iammarino M, Zampetti F, Aversano L, Di Penta M (2019) Self-admitted technical debt removal and refactoring actions: Co-occurrence or more?. In: 2019 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 186–190 AlomarEAPerumaAMkaouerMWNewmanCOuniAKessentiniMHow we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentationExpert Syst Appl2021167114176 Agrawal R, Imielinski T, Swami A (1993) Mining associations between sets of items in large databases. In: Proceedings of the ACM SIGMOD international conference on management of data, pp 207–216 Hummel O, Eichelberger H, Giloj A, Werle D, Schmid K (2018) A collection of software engineering challenges for big data system development. In: 2018 44th Euromicro conference on software engineering and advanced applications (SEAA). https://doi.org/10.1109/SEAA.2018.00066, pp 362–369 Peruma A, Mkaouer MW, Decker MJ, Newman CD (2018) An empirical investigation of how and why developers rename identifiers. In: Proceedings of the 2nd international workshop on refactoring, pp 26–33 Foidl H, Felderer M, Biffl S (2019) Technical debt in data-intensive software systems. In: 2019 45th Euromicro conference on software engineering and advanced applications (SEAA). https://doi.org/10.1109/SEAA.2019.00058, pp 338–341 Peruma A (2019) A preliminary study of android refactorings. In: 2019 IEEE/ACM 6th international conference on mobile software engineering and systems (MOBILESoft). IEEE, pp 148–149 GC Murphy (10271_CR26) 2006; 23 10271_CR18 10271_CR19 10271_CR14 10271_CR16 10271_CR17 10271_CR10 10271_CR11 10271_CR12 10271_CR13 10271_CR20 10271_CR25 C Vassallo (10271_CR46) 2019; 180 10271_CR27 Z Kurtanović (10271_CR22) 2018; 23 10271_CR28 10271_CR21 10271_CR23 H Cramer (10271_CR9) 1946 10271_CR24 10271_CR30 10271_CR31 A Peruma (10271_CR38) 2020; 169 M Fowler (10271_CR15) 2002; 2002 BA Muse (10271_CR29) 2022; 27 F Pedregosa (10271_CR34) 2011; 12 N Arzamasova (10271_CR5) 2018; 30 10271_CR36 10271_CR37 10271_CR39 10271_CR32 10271_CR33 D Perez-Palacin (10271_CR35) 2019; 18 10271_CR40 10271_CR41 10271_CR42 EA Alomar (10271_CR4) 2021; 167 10271_CR48 10271_CR43 10271_CR44 10271_CR45 CP Chen (10271_CR8) 2014; 275 10271_CR3 10271_CR1 10271_CR2 J Zhou (10271_CR49) 2021; 47 10271_CR7 10271_CR6 C Wohlin (10271_CR47) 2012 |
References_xml | – reference: Muse BA, Rahman MM, Nagy C, Cleve A, Khomh F, Antoniol G (2020) On the prevalence, impact, and evolution of SQL code smells in data-intensive systems. In: Proceedings of the 17th international conference on mining software repositories, pp 327–338 – reference: Peruma A (2019) A preliminary study of android refactorings. In: 2019 IEEE/ACM 6th international conference on mobile software engineering and systems (MOBILESoft). IEEE, pp 148–149 – reference: Muse BA, Khomh F, Antoniol G (2022) Replication package: Refactoring Practices in the Context of Data-intensive Systems. https://doi.org/10.5281/zenodo.7140854 – reference: Spadini D, Aniche M, Bacchelli A (2018) PyDriller: Python Framework for Mining Software Repositories. https://doi.org/10.1145/3236024.3264598 – reference: Nagy C, Cleve A (2017) A static code smell detector for SQL queries embedded in Java code. In: 2017 IEEE 17th international working conference on source code analysis and manipulation (SCAM). IEEE, pp 147–152 – reference: Shome A, Cruz L, van Deursen A (2022) Data smells in public datasets. In: Crnkovic I (ed) Proceedings of the 1st international conference on AI engineering: software engineering for AI, CAIN 2022, Pittsburgh, Pennsylvania, May 16-24, 2022. https://doi.org/10.1145/3522664.3528621. ACM, pp 205–216 – reference: AlomarEAPerumaAMkaouerMWNewmanCOuniAKessentiniMHow we refactor and how we document it? On the use of supervised machine learning algorithms to classify refactoring documentationExpert Syst Appl2021167114176 – reference: Hummel O, Eichelberger H, Giloj A, Werle D, Schmid K (2018) A collection of software engineering challenges for big data system development. In: 2018 44th Euromicro conference on software engineering and advanced applications (SEAA). https://doi.org/10.1109/SEAA.2018.00066, pp 362–369 – reference: Khumnin P, Senivongse T (2017) SQL antipatterns detection and database refactoring process. In: 2017 18th IEEE/ACIS international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD), pp 199–205 – reference: Park B, Rao DL, Gudivada VN (2021) Dangers of bias in data-intensive information systems. In: Deshpande P, Abraham A, Iyer B, Ma K (eds) Next generation information processing system. Springer Singapore, Singapore, pp 259–271 – reference: Tsantalis N, Ketkar A, Dig D (2020) Refactoringminer 2.0. IEEE Transactions on Software Engineering. https://doi.org/10.1109/TSE.2020.3007722 – reference: Zhou C, Kuttal SK, Ahmed I (2018) What makes a good developer? an empirical study of developers’ technical and social competencies. In: 2018 IEEE symposium on visual languages and human-centric computing (VL/HCC). IEEE, pp 319–321 – reference: CramerHMathematical methods of statistics1946PrincetonPrinceton U, Press5005000063.01014 – reference: Falleri JR, Morandat F, Blanc X, Martinez M, Monperrus M (2014) Fine-grained and accurate source code differencing. In: Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, pp 313–324 – reference: Dig D, Comertoglu C, Marinov D, Johnson R (2006) Automated detection of refactorings in evolving components. In: European conference on object-oriented programming. Springer, pp 404–428 – reference: Silva D, Silva J, Santos GJDS, Terra R, Valente MTO (2020) Refdiff 2.0: A multi-language refactoring detection tool. IEEE Trans Softw Eng – reference: Hummel O, Eichelberger H, Giloj A, Werle D, Schmid K (2018) A collection of software engineering challenges for big data system development. In: 2018 44th euromicro conference on software engineering and advanced applications (SEAA). IEEE, pp 362–369 – reference: PerumaAMkaouerMWDeckerMJNewmanCDContextualizing rename decisions using refactorings, commit messages, and data typesJ Syst Softw2020169110704 – reference: Foidl H, Felderer M, Ramler R (2022) Data smells: categories, causes and consequences, and detection of suspicious data in ai-based systems. In: Crnkovic I (ed) Proceedings of the 1st international conference on AI engineering: software engineering for AI, CAIN 2022, Pittsburgh, Pennsylvania, May 16-24, 2022. https://doi.org/10.1145/3522664.3528590. ACM, pp 229–239 – reference: MuseBANagyCCleveAKhomhFAntoniolGFIXME: synchronize with database! an empirical study of data access self-admitted technical debtEmpir Softw Eng202227613010.1007/s10664-022-10119-4 – reference: Sharma T, Fragkoulis M, Rizou S, Bruntink M, Spinellis D (2018) Smelly relations: Measuring and understanding database schema quality. In: 2018 IEEE/ACM 40th international conference on software engineering: software engineering in practice track (ICSE-SEIP), pp 55–64 – reference: Karwin B (2010) SQL Antipatterns: Avoiding the pitfalls of database programming Pragmatic Bookshelf – reference: PedregosaFVaroquauxGGramfortAMichelVThirionBGriselOBlondelMPrettenhoferPWeissRDubourgVVanderplasJPassosACournapeauDBrucherMPerrotMDuchesnayEScikit-learn: Machine learning in PythonJ Mach Learn Res2011122825283028543481280.68189 – reference: Foidl H, Felderer M, Biffl S (2019) Technical debt in data-intensive software systems. In: 2019 45th Euromicro conference on software engineering and advanced applications (SEAA). https://doi.org/10.1109/SEAA.2019.00058, pp 338–341 – reference: Iammarino M, Zampetti F, Aversano L, Di Penta M (2019) Self-admitted technical debt removal and refactoring actions: Co-occurrence or more?. In: 2019 IEEE international conference on software maintenance and evolution (ICSME). IEEE, pp 186–190 – reference: ChenCPZhangCYData-intensive applications, challenges, techniques and technologies: A survey on big dataInf Sci201427531434710.1016/j.ins.2014.01.015 – reference: VassalloCGranoGPalombaFGallHCBacchelliAA large-scale empirical exploration on refactoring activities in open source software projectsSci Comput Program201918011510.1016/j.scico.2019.05.002 – reference: McDonald N, Goggins S (2013) Performance and participation in open source software on Github. In: CHI’13 extended abstracts on human factors in computing systems, pp 139–144 – reference: Meurice L, Nagy C, Cleve A (2016) Static analysis of dynamic database usage in Java systems. In: International conference on advanced information systems engineering. Springer, pp 491–506 – reference: Silva D, Tsantalis N, Valente MT (2016) Why we refactor? confessions of Github contributors. In: Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering, pp 858–870 – reference: WohlinCRunesonPHöstMOhlssonMCRegnellBWesslénAExperimentation in software engineering2012BerlinSpringer Science & Business Media10.1007/978-3-642-29044-21069.68547 – reference: KurtanovićZMaalejWOn user rationale in software engineeringRequir Eng201823335737910.1007/s00766-018-0293-2 – reference: Ferreira I, Fernandes E, Cedrim D, Uchôa A, Bibiano AC, Garcia A, Correia JL, Santos F, Nunes G, Barbosa C et al (2018) The buggy side of code refactoring: Understanding the relationship between refactorings and bugs. In: Proceedings of the 40th international conference on software engineering: companion proceeedings, pp 406–407 – reference: Nagy C, Cleve A (2018) SQLInspect: A static analyzer to inspect database usage in Java applications. In: Proceedings of the 40th international conference on software engineering: companion proceedings. ACM, pp 93–96 – reference: Perez-PalacinDMerseguerJRequenoJIGuerrieroMDi NittoETamburriDAA UML profile for the design, quality assessment and deployment of data-intensive applicationsSoftw Syst Model20191863577361410.1007/s10270-019-00730-3 – reference: Brin S, Motwani R, Ullman JD, Tsur S (1997) Dynamic itemset counting and implication rules for market basket data. In: Proceedings of the 1997 ACM SIGMOD international conference on Management of data, pp 255–264 – reference: Mahmoudi M, Nadi S, Tsantalis N (2019) Are refactorings to blame? an empirical study of refactorings in merge conflicts. In: 2019 IEEE 26th international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 151–162 – reference: Piatetsky S, Frawley G, William J (1991) Discovery, analysis and presentation of strong rules knowledge discovery in databases – reference: Agrawal R, Imielinski T, Swami A (1993) Mining associations between sets of items in large databases. In: Proceedings of the ACM SIGMOD international conference on management of data, pp 207–216 – reference: de Almeida Filho FG, Martins ADF, Vinuto TdS, Monteiro JM, de Sousa ÍP, de Castro Machado J, Rocha LS (2019) Prevalence of bad smells in PL/SQL projects. In: Proceedings of the 27th international conference on program comprehension. IEEE Press, pp 116–121 – reference: Agrawal R, Srikant R, et al. (1994) Fast algorithms for mining association rules. In: Proc. 20th int. conf. very large data bases, VLDB, vol 1215. Citeseer, pp 487–499 – reference: ZhouJWangSBezemerCPZouYHassanAEStudying the association between bountysource bounties and the issue-addressing likelihood of Github issue reportsIEEE Trans Softw Eng202147122919293310.1109/TSE.2020.2974469 – reference: Kim M, Gee M, Loh A, Rachatasumrit N (2010) Ref-finder: a refactoring reconstruction tool based on logic query templates. In: Proceedings of the 18th ACM SIGSOFT international symposium on Foundations of software engineering, pp 371–372 – reference: FowlerMRefactoring: Improving the design of existing codeExtreme Program Agile Methods–XP/Agil Universe2002200225610.1007/3-540-45672-4_311020.68632 – reference: Muse BA, Khomh F, Antoniol G (2022) Do developers refactor data access code? an empirical study. In: the 29th IEEE international conference on software analysis, evolution and reengineering(SANER) – reference: Chávez A, Ferreira I, Fernandes E, Cedrim D, Garcia A (2017) How does refactoring affect internal quality attributes? a multi-project study. In: Proceedings of the 31st Brazilian symposium on software engineering, pp 74–83 – reference: MurphyGCKerstenMFindlaterLHow are java software developers using the elipse ide?IEEE Softw2006234768310.1109/MS.2006.105 – reference: ArzamasovaNSchälerMBöhmKCleaning antipatterns in an SQL query logIEEE Trans Knowl Data Eng201830342143410.1109/TKDE.2017.2772252 – reference: Peruma A, Mkaouer MW, Decker MJ, Newman CD (2018) An empirical investigation of how and why developers rename identifiers. In: Proceedings of the 2nd international workshop on refactoring, pp 26–33 – ident: 10271_CR37 doi: 10.1145/3242163.3242169 – volume: 27 start-page: 130 issue: 6 year: 2022 ident: 10271_CR29 publication-title: Empir Softw Eng doi: 10.1007/s10664-022-10119-4 – ident: 10271_CR21 doi: 10.1145/1882291.1882353 – ident: 10271_CR28 doi: 10.5281/zenodo.7140854 – ident: 10271_CR2 – ident: 10271_CR41 doi: 10.1145/3522664.3528621 – ident: 10271_CR44 doi: 10.1145/3236024.3264598 – ident: 10271_CR10 doi: 10.1007/11785477_24 – ident: 10271_CR48 doi: 10.1109/VLHCC.2018.8506577 – ident: 10271_CR25 doi: 10.1007/978-3-319-39696-5_30 – ident: 10271_CR11 doi: 10.1145/2642937.2642982 – volume-title: Experimentation in software engineering year: 2012 ident: 10271_CR47 doi: 10.1007/978-3-642-29044-2 – ident: 10271_CR16 doi: 10.1109/SEAA.2018.00066 – volume: 47 start-page: 2919 issue: 12 year: 2021 ident: 10271_CR49 publication-title: IEEE Trans Softw Eng doi: 10.1109/TSE.2020.2974469 – start-page: 500 volume-title: Mathematical methods of statistics year: 1946 ident: 10271_CR9 – ident: 10271_CR6 doi: 10.1145/253262.253325 – volume: 12 start-page: 2825 year: 2011 ident: 10271_CR34 publication-title: J Mach Learn Res – ident: 10271_CR40 doi: 10.1145/3183519.3183529 – ident: 10271_CR43 doi: 10.1145/2950290.2950305 – volume: 275 start-page: 314 year: 2014 ident: 10271_CR8 publication-title: Inf Sci doi: 10.1016/j.ins.2014.01.015 – ident: 10271_CR3 doi: 10.1109/ICPC.2019.00025 – ident: 10271_CR19 – ident: 10271_CR17 doi: 10.1109/SEAA.2018.00066 – volume: 23 start-page: 357 issue: 3 year: 2018 ident: 10271_CR22 publication-title: Requir Eng doi: 10.1007/s00766-018-0293-2 – volume: 18 start-page: 3577 issue: 6 year: 2019 ident: 10271_CR35 publication-title: Softw Syst Model doi: 10.1007/s10270-019-00730-3 – ident: 10271_CR27 doi: 10.1109/SANER53432.2022.00014 – ident: 10271_CR1 doi: 10.1145/170036.170072 – volume: 23 start-page: 76 issue: 4 year: 2006 ident: 10271_CR26 publication-title: IEEE Softw doi: 10.1109/MS.2006.105 – ident: 10271_CR24 doi: 10.1145/2468356.2468382 – volume: 169 start-page: 704 issue: 110 year: 2020 ident: 10271_CR38 publication-title: J Syst Softw – ident: 10271_CR31 doi: 10.1109/SCAM.2017.19 – ident: 10271_CR18 doi: 10.1109/ICSME.2019.00029 – volume: 167 start-page: 176 issue: 114 year: 2021 ident: 10271_CR4 publication-title: Expert Syst Appl – ident: 10271_CR45 doi: 10.1109/TSE.2020.3007722 – ident: 10271_CR14 doi: 10.1145/3522664.3528590 – ident: 10271_CR32 doi: 10.1145/3183440.3183496 – volume: 30 start-page: 421 issue: 3 year: 2018 ident: 10271_CR5 publication-title: IEEE Trans Knowl Data Eng doi: 10.1109/TKDE.2017.2772252 – ident: 10271_CR42 doi: 10.1109/TSE.2020.2968072 – ident: 10271_CR23 doi: 10.1109/SANER.2019.8668012 – ident: 10271_CR36 doi: 10.1109/MOBILESoft.2019.00030 – ident: 10271_CR39 – volume: 2002 start-page: 256 year: 2002 ident: 10271_CR15 publication-title: Extreme Program Agile Methods–XP/Agil Universe doi: 10.1007/3-540-45672-4_31 – ident: 10271_CR20 doi: 10.1109/SNPD.2017.8022723 – ident: 10271_CR12 doi: 10.1145/3183440.3195030 – ident: 10271_CR13 doi: 10.1109/SEAA.2019.00058 – ident: 10271_CR30 doi: 10.1145/3379597.3387467 – ident: 10271_CR33 doi: 10.1007/978-981-15-4851-2_28 – volume: 180 start-page: 1 year: 2019 ident: 10271_CR46 publication-title: Sci Comput Program doi: 10.1016/j.scico.2019.05.002 – ident: 10271_CR7 doi: 10.1145/3131151.3131171 |
SSID | ssj0009745 |
Score | 2.325628 |
Snippet | Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in... |
SourceID | proquest crossref springer |
SourceType | Aggregation Database Index Database Publisher |
StartPage | 46 |
SubjectTerms | Compilers Computer Science Context Interpreters Maintainability Programming Languages Software Software Engineering/Programming and Operating Systems Systems developers |
SummonAdditionalLinks | – databaseName: ProQuest Central (New) dbid: BENPR link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3PS8MwFH7odvHib3E6JQdvGlzbNEkvisrGEBwyHOxW0iSFXbrNTtif70ubUhT0XPIOL837vuT9-ABuTKhdP6ObsR_HlMlQ0yTMGeXS5QUVyzl3Dc5vEz6esdd5PPcPbqUvq2xiYhWozVK7N_L7UCAxFjyJk8fVmjrVKJdd9RIau9DFECzx8tV9Hk7ep-3YXVHJFLtBezRCdPdtM755jnNGXTU7gqwI6PYnNLV881eKtEKe0SHse8pInuo9PoIdWxzDQSPHQPzpPIGHqa3Vc9AKabqfSrIoCJI84mrSMRCTZU5cVShdNLXrpB7mXJ7CbDT8eBlTL49AdSgGG5oFhkdBbmQuAiaEdTjDZWwjleTKskhFKmbCCDUw3Oo4lDbKLBIulSFsW4TpM-gUy8KeA5EWrx1aS4V8gJkclwY6YyZQrnVX6KwHt41n0lU9BSNt5x07P6box7TyY7rtQb9xXupPRJm2-9eDu8ah7ee_rV38b-0S9pwCfF0W1ofO5vPLXiFP2GTX_mf4BsXXuSM priority: 102 providerName: ProQuest |
Title | Refactoring practices in the context of data-intensive systems |
URI | https://link.springer.com/article/10.1007/s10664-022-10271-x https://www.proquest.com/docview/2776876959 |
Volume | 28 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEB60vXjxLVZr2YM3XWiSfeUiVOkDxSLFQj2FzWYDvbRiKvjznU2yREUPnnJIdg6T3f2-YeabAbjMQuP0jK7HPueUqdDQOMwZFcrlBTXLhXAC58epmMzZ_YIvalFY4avdfUqyvKm_iN2EYNRVnyMoyoAic2xzF7vjLp6Hg6bVrixHE7vmejRCRK-lMr_b-A5HDcf8kRYt0Wa0D7s1TSSD6r8ewJZdHcKeH8FA6hN5BDczW03MQSvEK54KslwRJHbE1aHj5UvWOXGVoHTp69VJ1cC5OIb5aPh8N6H1SARqQtnf0DTIRBTkmcplwKS0DluE4jbSca4ti3SkOZOZ1P1MWMNDZaPUIsnSKUK1RWg-gdZqvbKnQJTFUMMYpZEDsCzHpYFJWRZoJ9eVJu3AlfdM8lp1vkiaHsfOjwn6MSn9mHx0oOudl9SnoEhCicGMFDGPO3DtHdq8_tva2f8-P4cdNwW-Kg3rQmvz9m4vkCts0h5sq9G4B-3B-OVhiM_b4fRp1is3zCc93LkC |
linkProvider | Springer Nature |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV09T8MwED1VMMDCN6J8eoAJLEji2M4ACAGlpYUBgdQtOI4jdUkLLQL-FL8RXxIrAgm2zlE8vJzvnuN79wD2U1-jnhFn7IchZdLXNPIzRrnEe0HFMs5R4Hx3z9tP7LYf9hvw5bQw2FbpcmKRqNOhxn_kx76wxFjwKIzORy8UXaPwdtVZaJRh0TWf7_bINj7tXNnve-D7revHyzatXAWo9sXJhCZeygMvS2UmPCaEwfTMZWgCFWXKsEAFKmQiFeok5UaHvjRBYixPUYmtdkaiS4RN-bMsCCLcUbJ1Uw_5FYUpMo71o4HlEpVIp5Lqcc4o9s7bki48-vGzENbs9teFbFHnWkuwUBFUclFG1DI0TL4Ci878gVS5YBXOHkzp1WNXIU5rNSaDnFhKSbAD3qZ9MswI9qDSgeuUJ-Xo6PEaPE0FtnWYyYe52QAijT3kaC2VZR8szeyrnk5Y6ikUCgudNOHQIROPypkbcT1dGXGMLY5xgWP80YRtB15c7b9xXEdLE44coPXjv1fb_H-1PZhrP9714l7nvrsF8-g9XzakbcPM5PXN7FiGMkl2i7Ag8DztOPwGA_D0fQ |
linkToPdf | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3LTsMwEFyhVkJceCMKBXyAE1htEsdOD4B4VTwrVIHELTiOI_XSFlpE-TW-jt0mVgQS3DhH8WG82R3HszsAu6lvqJ-RZuyHIReRb3jLzwSXEd0LapFJSQ3Odx15-Siun8KnGfh0vTAkq3Q5cZqo04Ghf-QNXyExVrIVthpZIYu4P28fD184OUjRTauz08hD5MZ-vOPxbXR4dY57vef77YuHs0teOAxw46vmmCdeKgMvS6NMeUIpS6laRqENdCvTVgQ60KFQqdLNVFoT-pENEoucRSdY-WxEjhGY_qsKT0XNClRPLzr33XLkr5paJNOQPx4gsyhadorGPSkFJyU9Fnjl8cn3slhy3R_Xs9Oq116E-YKuspM8vpZgxvaXYcFZQbAiM6zAUdfmzj24CnOdVyPW6zMkmIz08IgkG2SMFKm853TzLB8kPVqFx38Bbg0q_UHfrgOLLB55jIk0chGRZviqZxKReprahpVJarDvkImH-QSOuJy1TDjGiGM8xTGe1KDuwIuLr3EUl7FTgwMHaPn499U2_l5tB2YxBuPbq87NJsyREX2uTqtDZfz6ZreQroyT7SIuGDz_dyh-AX2S-g8 |
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=Refactoring+practices+in+the+context+of+data-intensive+systems&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Muse%2C+Biruk+Asmare&rft.au=Khomh%2C+Foutse&rft.au=Antoniol%2C+Giuliano&rft.date=2023-03-01&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=28&rft.issue=2&rft_id=info:doi/10.1007%2Fs10664-022-10271-x&rft.externalDBID=n%2Fa&rft.externalDocID=10_1007_s10664_022_10271_x |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon |