{"id":"https://openalex.org/W2050823810","doi":"https://doi.org/10.1145/2577080.2582208","title":"How do programmers use optional typing?","display_name":"How do programmers use optional typing?","publication_year":2014,"publication_date":"2014-04-22","ids":{"openalex":"https://openalex.org/W2050823810","doi":"https://doi.org/10.1145/2577080.2582208","mag":"2050823810"},"language":"en","primary_location":{"id":"doi:10.1145/2577080.2582208","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2577080.2582208","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th international conference on Modularity","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/A5113880593","display_name":"Carlos Alexandre Garcia de Souza","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Carlos Souza","raw_affiliation_strings":["UFMG, Belo Horizonte, Brazil"],"affiliations":[{"raw_affiliation_string":"UFMG, Belo Horizonte, Brazil","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5034625297","display_name":"Eduardo Figueiredo","orcid":"https://orcid.org/0000-0002-6004-2718"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Eduardo Figueiredo","raw_affiliation_strings":["UFMG, Belo Horizonte, Brazil"],"affiliations":[{"raw_affiliation_string":"UFMG, Belo Horizonte, Brazil","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5113880593"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":7.26251011,"has_fulltext":false,"cited_by_count":15,"citation_normalized_percentile":{"value":0.96706258,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"109","last_page":"120"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9941999912261963,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9937999844551086,"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/computer-science","display_name":"Computer science","score":0.8691678047180176},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8067008256912231},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6460049748420715},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.640997588634491},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.5463878512382507},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4788798689842224},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.4737842082977295},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.44601112604141235},{"id":"https://openalex.org/keywords/point","display_name":"Point (geometry)","score":0.43839210271835327},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.42311790585517883},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.30703774094581604}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8691678047180176},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8067008256912231},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6460049748420715},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.640997588634491},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.5463878512382507},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4788798689842224},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.4737842082977295},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.44601112604141235},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.43839210271835327},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.42311790585517883},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.30703774094581604},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2577080.2582208","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2577080.2582208","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th international conference on Modularity","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2628915858","display_name":null,"funder_award_id":"APQ-02376-11 and APQ-02532-12","funder_id":"https://openalex.org/F4320322980","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais"},{"id":"https://openalex.org/G6370930440","display_name":null,"funder_award_id":"485907/2013-5","funder_id":"https://openalex.org/F4320322025","funder_display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico"}],"funders":[{"id":"https://openalex.org/F4320322025","display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico","ror":"https://ror.org/03swz6y49"},{"id":"https://openalex.org/F4320322980","display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais","ror":"https://ror.org/00nc55f03"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W72920030","https://openalex.org/W172478585","https://openalex.org/W238475734","https://openalex.org/W1557561422","https://openalex.org/W1566320980","https://openalex.org/W1568983194","https://openalex.org/W1840884391","https://openalex.org/W1842503650","https://openalex.org/W1970607969","https://openalex.org/W2035206966","https://openalex.org/W2037124948","https://openalex.org/W2075811056","https://openalex.org/W2084050405","https://openalex.org/W2086141560","https://openalex.org/W2100044779","https://openalex.org/W2100759424","https://openalex.org/W2103240295","https://openalex.org/W2123357908","https://openalex.org/W2135536553","https://openalex.org/W2140595120","https://openalex.org/W2141210774","https://openalex.org/W2142181967","https://openalex.org/W2150998213","https://openalex.org/W2158864412","https://openalex.org/W2161825580","https://openalex.org/W2164859807","https://openalex.org/W2170002779","https://openalex.org/W2171070726","https://openalex.org/W2294680933","https://openalex.org/W2338918733","https://openalex.org/W2796564118","https://openalex.org/W3006419313","https://openalex.org/W3021187112","https://openalex.org/W3137596000","https://openalex.org/W3143245542","https://openalex.org/W3159859651","https://openalex.org/W4230556891","https://openalex.org/W4242680284","https://openalex.org/W4256113209","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2192862863","https://openalex.org/W1497385637","https://openalex.org/W2369288331","https://openalex.org/W2086733238","https://openalex.org/W2924507462","https://openalex.org/W2342627620","https://openalex.org/W3045000656","https://openalex.org/W1500951155","https://openalex.org/W4312816704","https://openalex.org/W3110978914"],"abstract_inverted_index":{"The":[0],"recent":[1],"popularization":[2],"of":[3,22,43,70,77,81,118,142,158],"dynamically":[4],"typed":[5],"languages,":[6],"such":[7],"as":[8],"Ruby":[9],"and":[10,36,41,56,129,140,144],"JavaScript,":[11],"has":[12],"brought":[13],"more":[14],"attention":[15],"to":[16,31,54,65,100,104],"the":[17,20,29,39,46,67,78,116,138,156],"discussion":[18],"about":[19,72],"impact":[21],"typing":[23],"strategies":[24],"on":[25],"development.":[26],"Types":[27],"allow":[28],"compiler":[30],"find":[32],"type":[33,101,105],"errors":[34],"earlier":[35],"potentially":[37],"improve":[38],"readability":[40],"maintainability":[42],"code.":[44,132],"On":[45],"other":[47],"hand,":[48],"\"untyped\"":[49],"code":[50,80],"may":[51],"be":[52],"easier":[53],"change":[55],"require":[57],"less":[58,123],"work":[59],"from":[60],"programmers.":[61],"This":[62],"paper":[63],"tries":[64],"identify":[66],"programmers'":[68],"point":[69],"view":[71],"these":[73],"tradeoffs.":[74],"An":[75],"analysis":[76],"source":[79],"6638":[82],"projects":[83,143],"written":[84],"in":[85,95,115,125],"Groovy,":[86],"a":[87],"programming":[88],"language":[89],"which":[90,96],"features":[91],"optional":[92],"typing,":[93],"shows":[94],"scenarios":[97],"programmers":[98,159],"prefer":[99],"or":[102],"not":[103],"their":[106,146],"declarations.":[107],"Our":[108],"results":[109],"show":[110],"that":[111,155],"types":[112],"are":[113,122,148],"popular":[114],"definition":[117],"module":[119],"interfaces,":[120],"but":[121],"used":[124],"scripts,":[126],"test":[127],"classes":[128],"frequently":[130],"changed":[131],"There":[133],"is":[134],"no":[135],"correlation":[136],"between":[137],"size":[139],"age":[141],"how":[145,161],"constructs":[147],"typed.":[149],"Finally,":[150],"we":[151],"also":[152],"found":[153],"evidence":[154],"background":[157],"influences":[160],"they":[162],"use":[163],"types.":[164]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
