{"id":"https://openalex.org/W2808372290","doi":"https://doi.org/10.1145/3180155.3182535","title":"Analyzing the effects of test driven development in GitHub","display_name":"Analyzing the effects of test driven development in GitHub","publication_year":2018,"publication_date":"2018-05-27","ids":{"openalex":"https://openalex.org/W2808372290","doi":"https://doi.org/10.1145/3180155.3182535","mag":"2808372290"},"language":"en","primary_location":{"id":"doi:10.1145/3180155.3182535","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3180155.3182535","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th International Conference on Software Engineering","raw_type":"proceedings-article"},"type":"article","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/A5074560894","display_name":"Neil C. Borle","orcid":"https://orcid.org/0000-0002-5960-1236"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Neil C. Borle","raw_affiliation_strings":["University of Alberta, Edmonton, Alberta, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Alberta, Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5018932124","display_name":"Meysam Feghhi","orcid":null},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Meysam Feghhi","raw_affiliation_strings":["University of Alberta, Edmonton, Alberta, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Alberta, Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048978461","display_name":"Eleni Stroulia","orcid":"https://orcid.org/0000-0002-8784-8236"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Eleni Stroulia","raw_affiliation_strings":["University of Alberta, Edmonton, Alberta, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Alberta, Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027200864","display_name":"Russell Greiner","orcid":"https://orcid.org/0000-0001-8327-934X"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Russell Greiner","raw_affiliation_strings":["University of Alberta, Edmonton, Alberta, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Alberta, Canada","institution_ids":["https://openalex.org/I154425047"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5070785370","display_name":"Abram Hindle","orcid":"https://orcid.org/0000-0002-4373-4958"},"institutions":[{"id":"https://openalex.org/I154425047","display_name":"University of Alberta","ror":"https://ror.org/0160cpw27","country_code":"CA","type":"education","lineage":["https://openalex.org/I154425047"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Abram Hindle","raw_affiliation_strings":["University of Alberta, Edmonton, Alberta, Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Alberta, Edmonton, Alberta, Canada","institution_ids":["https://openalex.org/I154425047"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.5244,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.95255515,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1062","last_page":"1062"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.9993000030517578,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9991999864578247,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/agile-software-development","display_name":"Agile software development","score":0.7618957757949829},{"id":"https://openalex.org/keywords/test-driven-development","display_name":"Test-driven development","score":0.7378875613212585},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.683609664440155},{"id":"https://openalex.org/keywords/commit","display_name":"Commit","score":0.577890157699585},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5023295879364014},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.49584469199180603},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4399590492248535},{"id":"https://openalex.org/keywords/quality","display_name":"Quality (philosophy)","score":0.43960660696029663},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.4216327667236328},{"id":"https://openalex.org/keywords/software-development-process","display_name":"Software development process","score":0.41344016790390015},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.19875505566596985},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.15549153089523315}],"concepts":[{"id":"https://openalex.org/C14185376","wikidata":"https://www.wikidata.org/wiki/Q30232","display_name":"Agile software development","level":2,"score":0.7618957757949829},{"id":"https://openalex.org/C4478048","wikidata":"https://www.wikidata.org/wiki/Q950250","display_name":"Test-driven development","level":4,"score":0.7378875613212585},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.683609664440155},{"id":"https://openalex.org/C153180980","wikidata":"https://www.wikidata.org/wiki/Q19776675","display_name":"Commit","level":2,"score":0.577890157699585},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5023295879364014},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.49584469199180603},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4399590492248535},{"id":"https://openalex.org/C2779530757","wikidata":"https://www.wikidata.org/wiki/Q1207505","display_name":"Quality (philosophy)","level":2,"score":0.43960660696029663},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.4216327667236328},{"id":"https://openalex.org/C180152950","wikidata":"https://www.wikidata.org/wiki/Q2904257","display_name":"Software development process","level":4,"score":0.41344016790390015},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.19875505566596985},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.15549153089523315},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3180155.3182535","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3180155.3182535","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 40th International Conference on Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.4699999988079071}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":3,"referenced_works":["https://openalex.org/W2522228258","https://openalex.org/W2551905807","https://openalex.org/W2769257947"],"related_works":["https://openalex.org/W2017062194","https://openalex.org/W2611745996","https://openalex.org/W2187696332","https://openalex.org/W4299419589","https://openalex.org/W1963513369","https://openalex.org/W49830884","https://openalex.org/W2794258423","https://openalex.org/W4302162068","https://openalex.org/W571181217","https://openalex.org/W2382426750"],"abstract_inverted_index":{"Testing":[0],"is":[1,44],"an":[2],"integral":[3],"part":[4],"of":[5,14,41,50,65,82,114,148,166,176,216,223,227,231,235,240,263],"the":[6,100,105,203,208,212,264],"software":[7,133,137],"development":[8,71,134],"lifecycle,":[9],"approached":[10],"with":[11,173],"varying":[12],"degrees":[13],"rigor":[15],"by":[16,55],"different":[17],"process":[18,21],"models.":[19],"Agile":[20],"models":[22],"recommend":[23],"Test":[24],"Driven":[25],"Development":[26],"(TDD)":[27],"as":[28],"a":[29,47,94,111,121,156],"key":[30],"practice":[31],"for":[32],"reducing":[33],"costs":[34],"and":[35,84,136,162,192,238,271],"improving":[36],"code":[37],"quality.":[38,138],"The":[39,179],"objective":[40],"this":[42,51,170],"work":[43,54],"to":[45,92,120,128,268],"perform":[46],"cost-benefit":[48],"analysis":[49,113],"practice.":[52],"Previous":[53],"Fucci":[56,73],"et":[57,74],"al.":[58,75],"[2,":[59],"3]":[60],"engaged":[61,68],"in":[62,69,99,104,126,144,146,261],"laboratory":[63],"studies":[64],"developers":[66],"actively":[67],"test-driven":[70],"practices.":[72],"found":[76,245],"little":[77],"difference":[78],"between":[79],"test-first":[80],"behaviour":[81],"TDD":[83,97,119,131,157,171,204,248],"test-later":[85],"behaviour.":[86],"To":[87],"that":[88,117,188,193,246],"end,":[89],"we":[90,108,266],"opted":[91],"conduct":[93],"study":[95],"about":[96],"behaviours":[98],"\"wild\"":[101],"rather":[102],"than":[103],"laboratory.":[106],"Thus":[107],"have":[109],"conducted":[110],"comparative":[112],"GitHub":[115,141,186],"repositories":[116,142,168,187],"adopts":[118],"lesser":[122],"or":[123],"greater":[124],"extent,":[125],"order":[127],"determine":[129],"how":[130,149,202],"affects":[132],"productivity":[135],"We":[139,159,200,244],"classified":[140],"archived":[143],"2015":[145],"terms":[147],"rigorously":[150],"they":[151],"practiced":[152],"TDD,":[153],"thus":[154],"creating":[155],"spectrum.":[158],"then":[160],"matched":[161,189],"compared":[163,201],"various":[164],"subsets":[165],"these":[167],"on":[169,211],"spectrum":[172],"control":[174,180,209],"sets":[175,181,205,210],"equal":[177],"size.":[178],"were":[182,250,256],"samples":[183],"from":[184,207,283],"all":[185],"certain":[190],"characteristics,":[191],"contained":[194],"at":[195],"least":[196],"one":[197],"test":[198,217],"file.":[199],"differed":[206],"following":[213],"characteristics:":[214],"number":[215,222,226,234],"files,":[218],"average":[219],"commit":[220],"velocity,":[221],"bug-referencing":[224],"commits,":[225],"issues":[228],"recorded,":[229],"usage":[230],"continuous":[232],"integration,":[233],"pull":[236],"requests,":[237],"distribution":[239],"commits":[241],"per":[242],"author.":[243],"Java":[247],"projects":[249],"relatively":[251],"rare.":[252],"In":[253],"addition,":[254],"there":[255],"very":[257],"few":[258],"significant":[259],"differences":[260],"any":[262,280],"metrics":[265],"used":[267],"compare":[269],"TDD-like":[270],"non-TDD":[272],"projects;":[273],"therefore,":[274],"our":[275],"results":[276],"do":[277],"not":[278],"reveal":[279],"observable":[281],"benefits":[282],"using":[284],"TDD.":[285]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2023,"cited_by_count":5},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
