{"id":"https://openalex.org/W2116272605","doi":"https://doi.org/10.1145/2635868.2635901","title":"Mining idioms from source code","display_name":"Mining idioms from source code","publication_year":2014,"publication_date":"2014-11-04","ids":{"openalex":"https://openalex.org/W2116272605","doi":"https://doi.org/10.1145/2635868.2635901","mag":"2116272605"},"language":"en","primary_location":{"id":"doi:10.1145/2635868.2635901","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2635868.2635901","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1404.0417","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5080221214","display_name":"Miltiadis Allamanis","orcid":"https://orcid.org/0000-0002-5819-9900"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Miltiadis Allamanis","raw_affiliation_strings":["University of Edinburgh, UK","University of Edinburgh (UK)"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"University of Edinburgh (UK)","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028501178","display_name":"Charles Sutton","orcid":"https://orcid.org/0000-0002-0041-3820"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Charles Sutton","raw_affiliation_strings":["University of Edinburgh, UK","University of Edinburgh (UK)"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]},{"raw_affiliation_string":"University of Edinburgh (UK)","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5080221214"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":35.9939,"has_fulltext":false,"cited_by_count":163,"citation_normalized_percentile":{"value":0.996898,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"472","last_page":"483"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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":0.9998999834060669,"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.989799976348877,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9879000186920166,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7041618824005127},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5370544195175171},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.500211238861084},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4373595118522644},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.423061341047287},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.060309141874313354}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7041618824005127},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5370544195175171},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.500211238861084},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4373595118522644},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.423061341047287},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.060309141874313354}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2635868.2635901","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2635868.2635901","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1404.0417","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1404.0417","pdf_url":"https://arxiv.org/pdf/1404.0417","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.645.6381","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.645.6381","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://homepages.inf.ed.ac.uk/csutton/publications/idioms.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.751.1753","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.751.1753","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://arxiv.org/pdf/1404.0417.pdf","raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1404.0417","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1404.0417","pdf_url":"https://arxiv.org/pdf/1404.0417","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[{"display_name":"Decent work and economic growth","score":0.5099999904632568,"id":"https://metadata.un.org/sdg/8"}],"awards":[{"id":"https://openalex.org/G2114596535","display_name":null,"funder_award_id":"EP/K024043/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":64,"referenced_works":["https://openalex.org/W90447038","https://openalex.org/W166614460","https://openalex.org/W398859631","https://openalex.org/W578119892","https://openalex.org/W1502922572","https://openalex.org/W1503398984","https://openalex.org/W1540484164","https://openalex.org/W1551431154","https://openalex.org/W1680797894","https://openalex.org/W1868009147","https://openalex.org/W1964788505","https://openalex.org/W1964795700","https://openalex.org/W1994573369","https://openalex.org/W2014577207","https://openalex.org/W2021242474","https://openalex.org/W2030766291","https://openalex.org/W2045656233","https://openalex.org/W2059215200","https://openalex.org/W2060384944","https://openalex.org/W2062068644","https://openalex.org/W2074529754","https://openalex.org/W2090184280","https://openalex.org/W2090432523","https://openalex.org/W2101832700","https://openalex.org/W2104301886","https://openalex.org/W2114210089","https://openalex.org/W2115510201","https://openalex.org/W2115870554","https://openalex.org/W2121818394","https://openalex.org/W2122303450","https://openalex.org/W2128782367","https://openalex.org/W2133378824","https://openalex.org/W2138756793","https://openalex.org/W2140609933","https://openalex.org/W2140681814","https://openalex.org/W2142403498","https://openalex.org/W2143960295","https://openalex.org/W2148190602","https://openalex.org/W2151967501","https://openalex.org/W2152600988","https://openalex.org/W2154099718","https://openalex.org/W2157532207","https://openalex.org/W2157874452","https://openalex.org/W2158615804","https://openalex.org/W2166278331","https://openalex.org/W2298313545","https://openalex.org/W2495436614","https://openalex.org/W3003280364","https://openalex.org/W3003678146","https://openalex.org/W3003804493","https://openalex.org/W4211049957","https://openalex.org/W4231101924","https://openalex.org/W4239812996","https://openalex.org/W4248681815","https://openalex.org/W4301884499","https://openalex.org/W4308951891","https://openalex.org/W4312091107","https://openalex.org/W6630177651","https://openalex.org/W6632212546","https://openalex.org/W6639436161","https://openalex.org/W6678724764","https://openalex.org/W6682569104","https://openalex.org/W6683620417","https://openalex.org/W7045765263"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W2358668433","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W2382290278","https://openalex.org/W2478288626","https://openalex.org/W4391913857","https://openalex.org/W3081644756"],"abstract_inverted_index":{"We":[0,19,87,114,128],"present":[1,88,129],"the":[2,21,47,120,136,169],"first":[3],"method":[4],"for":[5,51,58,92],"automatically":[6],"mining":[7,93],"code":[8,25,76,94,159],"idioms":[9,61,95,138,172],"from":[10,102,126,162],"a":[11,24,28,37,50,90,130,163],"corpus":[12],"of":[13,49,119,133,168],"previously":[14],"written,":[15],"idiomatic":[16,75],"software":[17,149],"projects.":[18],"take":[20],"view":[22],"that":[23,31,96,135,143,152,174],"idiom":[26],"is":[27],"syntactic":[29],"fragment":[30],"recurs":[32],"across":[33,148],"projects":[34,125,150],"and":[35,62,151,185],"has":[36],"single":[38],"semantic":[39],"purpose.":[40],"Idioms":[41],"may":[42],"have":[43],"metavariables,":[44],"such":[45],"as":[46],"body":[48],"loop.":[52],"Modern":[53],"IDEs":[54],"commonly":[55],"provide":[56],"facilities":[57],"manually":[59],"defining":[60],"inserting":[63],"them":[64],"on":[65,98],"demand,":[66],"but":[67],"this":[68],"does":[69],"not":[70],"help":[71],"programmers":[72],"to":[73,117],"write":[74],"in":[77,157],"languages":[78],"or":[79],"using":[80],"libraries":[81],"with":[82],"which":[83],"they":[84,144,153,175],"are":[85,139],"unfamiliar.":[86],"Haggis,":[89],"system":[91],"builds":[97],"recent":[99],"advanced":[100],"techniques":[101],"statistical":[103],"natural":[104],"language":[105],"processing,":[106],"namely,":[107],"nonparametric":[108],"Bayesian":[109],"probabilistic":[110],"tree":[111],"substitution":[112],"grammars.":[113],"apply":[115],"Haggis":[116],"several":[118],"most":[121,170],"popular":[122],"open":[123],"source":[124],"GitHub.":[127],"wide":[131],"range":[132],"evidence":[134],"resulting":[137],"semantically":[140],"meaningful,":[141],"demonstrating":[142],"do":[145],"indeed":[146],"recur":[147],"occur":[154],"more":[155],"frequently":[156],"illustrative":[158],"examples":[160],"collected":[161],"Q&A":[164],"site.":[165],"Manual":[166],"examination":[167],"common":[171],"indicate":[173],"describe":[176],"important":[177],"program":[178],"concepts,":[179],"including":[180],"object":[181],"creation,":[182],"exception":[183],"handling,":[184],"resource":[186],"management.":[187]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":9},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":14},{"year":2022,"cited_by_count":12},{"year":2021,"cited_by_count":20},{"year":2020,"cited_by_count":18},{"year":2019,"cited_by_count":18},{"year":2018,"cited_by_count":20},{"year":2017,"cited_by_count":15},{"year":2016,"cited_by_count":12},{"year":2015,"cited_by_count":13},{"year":2014,"cited_by_count":4}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
