{"id":"https://openalex.org/W4389369110","doi":"https://doi.org/10.1145/3629479.3629510","title":"Mock Objects in Software Testing: An Analysis of Usage in Open-Source Projects","display_name":"Mock Objects in Software Testing: An Analysis of Usage in Open-Source Projects","publication_year":2023,"publication_date":"2023-11-07","ids":{"openalex":"https://openalex.org/W4389369110","doi":"https://doi.org/10.1145/3629479.3629510"},"language":"en","primary_location":{"id":"doi:10.1145/3629479.3629510","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3629479.3629510","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXII Brazilian Symposium on Software Quality","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5106732154","display_name":"Raphael De Almeida","orcid":"https://orcid.org/0009-0008-3433-2464"},"institutions":[{"id":"https://openalex.org/I161127581","display_name":"Universidade Federal Fluminense","ror":"https://ror.org/02rjhbb08","country_code":"BR","type":"education","lineage":["https://openalex.org/I161127581"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Raphael De Almeida","raw_affiliation_strings":["Universidade Federal Fluminense, Brazil"],"raw_orcid":"https://orcid.org/0009-0008-3433-2464","affiliations":[{"raw_affiliation_string":"Universidade Federal Fluminense, Brazil","institution_ids":["https://openalex.org/I161127581"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060635839","display_name":"R\u00f4mulo Martins da Silva","orcid":"https://orcid.org/0009-0003-3765-4526"},"institutions":[{"id":"https://openalex.org/I161127581","display_name":"Universidade Federal Fluminense","ror":"https://ror.org/02rjhbb08","country_code":"BR","type":"education","lineage":["https://openalex.org/I161127581"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Romulo Martins Da Silva","raw_affiliation_strings":["Universidade Federal Fluminense, Brazil"],"raw_orcid":"https://orcid.org/0009-0003-3765-4526","affiliations":[{"raw_affiliation_string":"Universidade Federal Fluminense, Brazil","institution_ids":["https://openalex.org/I161127581"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101789258","display_name":"Lucas Silveira Serrano","orcid":"https://orcid.org/0009-0006-1858-5803"},"institutions":[{"id":"https://openalex.org/I161127581","display_name":"Universidade Federal Fluminense","ror":"https://ror.org/02rjhbb08","country_code":"BR","type":"education","lineage":["https://openalex.org/I161127581"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Lucas Silveira Serrano","raw_affiliation_strings":["Universidade Federal Fluminense, Brazil"],"raw_orcid":"https://orcid.org/0009-0006-1858-5803","affiliations":[{"raw_affiliation_string":"Universidade Federal Fluminense, Brazil","institution_ids":["https://openalex.org/I161127581"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5021761918","display_name":"Heleno de S. Campos","orcid":"https://orcid.org/0000-0001-5541-0021"},"institutions":[{"id":"https://openalex.org/I161127581","display_name":"Universidade Federal Fluminense","ror":"https://ror.org/02rjhbb08","country_code":"BR","type":"education","lineage":["https://openalex.org/I161127581"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Heleno De Souza Campos Junior","raw_affiliation_strings":["Universidade Federal Fluminense, Brazil"],"raw_orcid":"https://orcid.org/0000-0001-5541-0021","affiliations":[{"raw_affiliation_string":"Universidade Federal Fluminense, Brazil","institution_ids":["https://openalex.org/I161127581"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5006573368","display_name":"V\u00e2nia de Oliveira Neves","orcid":"https://orcid.org/0000-0003-4648-2263"},"institutions":[{"id":"https://openalex.org/I161127581","display_name":"Universidade Federal Fluminense","ror":"https://ror.org/02rjhbb08","country_code":"BR","type":"education","lineage":["https://openalex.org/I161127581"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"V\u00e2nia De Oliveira Neves","raw_affiliation_strings":["Universidade Federal Fluminense, Brazil"],"raw_orcid":"https://orcid.org/0000-0003-4648-2263","affiliations":[{"raw_affiliation_string":"Universidade Federal Fluminense, Brazil","institution_ids":["https://openalex.org/I161127581"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I161127581"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"72","last_page":"79"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7855072021484375},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7508752346038818},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6919242143630981},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.6549369692802429},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.6418651342391968},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.626274824142456},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5652748346328735},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5440082550048828},{"id":"https://openalex.org/keywords/structuring","display_name":"Structuring","score":0.5316439270973206},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.5210161209106445},{"id":"https://openalex.org/keywords/open-source","display_name":"Open source","score":0.48783615231513977},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.45489659905433655},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.45461735129356384},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.4386959671974182},{"id":"https://openalex.org/keywords/open-source-software","display_name":"Open source software","score":0.4384177029132843},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.4202324450016022}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7855072021484375},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7508752346038818},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6919242143630981},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.6549369692802429},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.6418651342391968},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.626274824142456},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5652748346328735},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5440082550048828},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.5316439270973206},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.5210161209106445},{"id":"https://openalex.org/C3018397939","wikidata":"https://www.wikidata.org/wiki/Q3644502","display_name":"Open source","level":3,"score":0.48783615231513977},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.45489659905433655},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45461735129356384},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.4386959671974182},{"id":"https://openalex.org/C2988343187","wikidata":"https://www.wikidata.org/wiki/Q1130645","display_name":"Open source software","level":3,"score":0.4384177029132843},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.4202324450016022},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3629479.3629510","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3629479.3629510","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXII Brazilian Symposium on Software Quality","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1541128807","https://openalex.org/W2078483536","https://openalex.org/W2091680554","https://openalex.org/W2115919801","https://openalex.org/W2168745915","https://openalex.org/W2293902915","https://openalex.org/W2440056063","https://openalex.org/W2615173508","https://openalex.org/W2615762501","https://openalex.org/W2629457583","https://openalex.org/W2900136781","https://openalex.org/W2973530015","https://openalex.org/W2992779344","https://openalex.org/W3097650561","https://openalex.org/W3102273185","https://openalex.org/W4281892382","https://openalex.org/W4284712551","https://openalex.org/W6771008583"],"related_works":["https://openalex.org/W2148261527","https://openalex.org/W1614693582","https://openalex.org/W2763289028","https://openalex.org/W2921667535","https://openalex.org/W2986478207","https://openalex.org/W2157944413","https://openalex.org/W4312706861","https://openalex.org/W2134224144","https://openalex.org/W2938801257","https://openalex.org/W4389650601"],"abstract_inverted_index":{"Dependencies":[0],"in":[1,80,108,111,114,167,195],"software":[2,13,81],"are":[3,84,106,139],"essential":[4],"for":[5,142],"efficiently":[6],"structuring":[7],"and":[8,20,34,123,136,146,160,198],"modularizing":[9],"the":[10,40,76,90,118,154,162,173,177,180,191,196],"code,":[11],"enabling":[12],"components":[14],"to":[15,54,88,102,116,176],"perform":[16],"specific":[17],"tasks,":[18],"interact,":[19],"reuse":[21],"functionalities.":[22],"Furthermore,":[23],"many":[24],"applications":[25],"also":[26,151],"rely":[27],"on":[28,127],"external":[29,35,174],"components,":[30],"such":[31,69],"as":[32,70],"APIs":[33],"services,":[36],"which":[37,58],"can":[38,51],"difficult":[39],"creation":[41],"of":[42,78,92,98,120,156,164,193],"a":[43],"testing":[44],"environment.":[45],"To":[46],"overcome":[47],"these":[48,56],"challenges,":[49],"developers":[50],"use":[52,77,91,119],"mocks":[53,79,105,157,194],"simulate":[55],"dependencies,":[57,68],"becomes":[59],"particularly":[60],"useful":[61],"when":[62],"dealing":[63],"with":[64],"slow":[65],"or":[66],"hard-to-create":[67],"those":[71],"requiring":[72],"network":[73],"access.":[74],"Despite":[75],"testing,":[82],"there":[83],"few":[85],"academic":[86],"studies":[87],"understand":[89,103],"this":[93,99],"technique.":[94],"The":[95],"main":[96],"objective":[97],"paper":[100],"is":[101,158],"how":[104],"used":[107],"automated":[109],"tests":[110],"open-source":[112],"projects,":[113],"addition":[115],"quantifying":[117],"support":[121],"tools":[122,138],"assessing":[124],"their":[125],"impact":[126],"test":[128,165],"creation.":[129],"We":[130,150,170],"discovered":[131],"that":[132,153,172],"Mockito,":[133],"PHPUnit,":[134],"Jest,":[135],"Mock":[137],"widely":[140],"employed":[141],"Java,":[143],"PHP,":[144],"JavaScript,":[145],"Python":[147],"programs,":[148],"respectively.":[149],"observed":[152],"presence":[155],"consistent":[159],"follows":[161],"number":[163,192],"files":[166],"each":[168],"project.":[169],"noted":[171],"dependencies":[175],"project":[178,197],"were":[179],"most":[181],"frequently":[182],"simulated.":[183],"However,":[184],"we":[185],"found":[186],"no":[187],"significant":[188],"correlation":[189],"between":[190],"code":[199],"coverage.":[200]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
