{"id":"https://openalex.org/W2130017103","doi":"https://doi.org/10.1093/comjnl/bxq049","title":"Recognizing Algorithms Using Language Constructs, Software Metrics and Roles of Variables: An Experiment with Sorting Algorithms","display_name":"Recognizing Algorithms Using Language Constructs, Software Metrics and Roles of Variables: An Experiment with Sorting Algorithms","publication_year":2010,"publication_date":"2010-05-31","ids":{"openalex":"https://openalex.org/W2130017103","doi":"https://doi.org/10.1093/comjnl/bxq049","mag":"2130017103"},"language":"en","primary_location":{"id":"doi:10.1093/comjnl/bxq049","is_oa":false,"landing_page_url":"https://doi.org/10.1093/comjnl/bxq049","pdf_url":null,"source":{"id":"https://openalex.org/S44643521","display_name":"The Computer Journal","issn_l":"0010-4620","issn":["0010-4620","1460-2067"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311648","host_organization_name":"Oxford University Press","host_organization_lineage":["https://openalex.org/P4310311648","https://openalex.org/P4310311647"],"host_organization_lineage_names":["Oxford University Press","University of Oxford"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Computer Journal","raw_type":"journal-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/A5029315420","display_name":"Aboozar Taherkhani","orcid":"https://orcid.org/0000-0002-3627-6362"},"institutions":[{"id":"https://openalex.org/I9927081","display_name":"Aalto University","ror":"https://ror.org/020hwjq30","country_code":"FI","type":"education","lineage":["https://openalex.org/I9927081"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"A. Taherkhani","raw_affiliation_strings":["Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland","institution_ids":["https://openalex.org/I9927081"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5005341681","display_name":"Ari Korhonen","orcid":"https://orcid.org/0000-0002-2784-7979"},"institutions":[{"id":"https://openalex.org/I9927081","display_name":"Aalto University","ror":"https://ror.org/020hwjq30","country_code":"FI","type":"education","lineage":["https://openalex.org/I9927081"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"A. Korhonen","raw_affiliation_strings":["Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland","institution_ids":["https://openalex.org/I9927081"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027596822","display_name":"Lauri Malmi","orcid":"https://orcid.org/0000-0003-1064-796X"},"institutions":[{"id":"https://openalex.org/I9927081","display_name":"Aalto University","ror":"https://ror.org/020hwjq30","country_code":"FI","type":"education","lineage":["https://openalex.org/I9927081"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"L. Malmi","raw_affiliation_strings":["Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Aalto University School of Science and Technology, PO Box 15400, FI-00076 AALTO, Finland","institution_ids":["https://openalex.org/I9927081"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":2635,"currency":"GBP","value_usd":3232},"apc_paid":null,"fwci":3.0506,"has_fulltext":false,"cited_by_count":13,"citation_normalized_percentile":{"value":0.93429261,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"54","issue":"7","first_page":"1049","last_page":"1066"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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/T10533","display_name":"Teaching and Learning Programming","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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.9986000061035156,"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.9970999956130981,"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.860497772693634},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.8471708297729492},{"id":"https://openalex.org/keywords/sorting-algorithm","display_name":"Sorting algorithm","score":0.6787775158882141},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.584896445274353},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.5671520233154297},{"id":"https://openalex.org/keywords/program-comprehension","display_name":"Program comprehension","score":0.5407986044883728},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5339770317077637},{"id":"https://openalex.org/keywords/field","display_name":"Field (mathematics)","score":0.5080640316009521},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5046058893203735},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.49588045477867126},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.4671000838279724},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4163312315940857},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3761425316333771},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3725072145462036},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3036091923713684},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.2898331880569458}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.860497772693634},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.8471708297729492},{"id":"https://openalex.org/C108094655","wikidata":"https://www.wikidata.org/wiki/Q181593","display_name":"Sorting algorithm","level":3,"score":0.6787775158882141},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.584896445274353},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.5671520233154297},{"id":"https://openalex.org/C2777561058","wikidata":"https://www.wikidata.org/wiki/Q2652119","display_name":"Program comprehension","level":4,"score":0.5407986044883728},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5339770317077637},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.5080640316009521},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5046058893203735},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.49588045477867126},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4671000838279724},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4163312315940857},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3761425316333771},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3725072145462036},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3036091923713684},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.2898331880569458},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1093/comjnl/bxq049","is_oa":false,"landing_page_url":"https://doi.org/10.1093/comjnl/bxq049","pdf_url":null,"source":{"id":"https://openalex.org/S44643521","display_name":"The Computer Journal","issn_l":"0010-4620","issn":["0010-4620","1460-2067"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311648","host_organization_name":"Oxford University Press","host_organization_lineage":["https://openalex.org/P4310311648","https://openalex.org/P4310311647"],"host_organization_lineage_names":["Oxford University Press","University of Oxford"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Computer Journal","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.6000000238418579,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":36,"referenced_works":["https://openalex.org/W90413272","https://openalex.org/W1504694836","https://openalex.org/W1505648523","https://openalex.org/W1546215871","https://openalex.org/W1565377632","https://openalex.org/W1578400162","https://openalex.org/W1653582611","https://openalex.org/W1873332500","https://openalex.org/W1935514445","https://openalex.org/W1964962870","https://openalex.org/W1967709752","https://openalex.org/W1973423365","https://openalex.org/W1983520997","https://openalex.org/W1988063143","https://openalex.org/W1991140109","https://openalex.org/W2000032708","https://openalex.org/W2012280621","https://openalex.org/W2016301867","https://openalex.org/W2023288969","https://openalex.org/W2032373962","https://openalex.org/W2062955196","https://openalex.org/W2070405152","https://openalex.org/W2071839127","https://openalex.org/W2078884958","https://openalex.org/W2125055259","https://openalex.org/W2126063715","https://openalex.org/W2128906194","https://openalex.org/W2137591954","https://openalex.org/W2138860444","https://openalex.org/W2142314574","https://openalex.org/W2146957318","https://openalex.org/W2152449744","https://openalex.org/W2157532207","https://openalex.org/W2164233915","https://openalex.org/W2182674213","https://openalex.org/W2728086943"],"related_works":["https://openalex.org/W2809748609","https://openalex.org/W3033694952","https://openalex.org/W2372558933","https://openalex.org/W2349288944","https://openalex.org/W797244100","https://openalex.org/W4298155039","https://openalex.org/W2043772124","https://openalex.org/W2801186172","https://openalex.org/W2367560286","https://openalex.org/W2181812531"],"abstract_inverted_index":{"Program":[0],"comprehension":[1],"(PC)":[2],"is":[3,58,146,172,221],"a":[4,37,47,93,132,198],"research":[5],"field":[6],"that":[7,188,220],"has":[8],"been":[9],"extensively":[10],"studied":[11],"from":[12,52,224],"different":[13,96],"points":[14],"of":[15,39,63,69,78,80,90,95,98,110,141,162,184],"view,":[16],"including":[17,66],"human":[18],"program":[19,25,64],"understanding":[20],"and":[21,41,104,116,134],"mental":[22],"models,":[23],"automated":[24],"understanding,":[26],"etc.":[27],"In":[28,86],"this":[29,127],"paper,":[30],"we":[31,155],"discuss":[32],"algorithm":[33],"recognition":[34,140],"(AR)":[35],"as":[36,74,76,113,197,204],"subfield":[38],"PC":[40,199],"explain":[42],"their":[43],"relationship.":[44],"We":[45,129],"present":[46],"method":[48,57,138,200],"for":[49,139],"automatic":[50,208],"AR":[51],"Java":[53],"source":[54],"code.":[55],"The":[56],"based":[59],"on":[60],"static":[61],"analysis":[62,77],"code":[65],"various":[67,202],"statistics":[68],"language":[70],"constructs,":[71],"software":[72],"metrics,":[73],"well":[75],"roles":[79],"variables":[81],"in":[82,106,117,148,201,207],"the":[83,87,91,99,107,111,118,137,149,153,160,163,166,181,185,213,218],"target":[84,179],"program.":[85],"first":[88],"phase":[89],"method,":[92,167],"number":[94],"implementations":[97],"supported":[100],"algorithms":[101,123,214],"are":[102,124],"analyzed":[103],"stored":[105],"knowledge":[108],"base":[109],"system":[112],"learning":[114],"data,":[115],"second":[119],"phase,":[120],"previously":[121],"unseen":[122],"recognized":[125],"using":[126],"information.":[128],"have":[130,156],"developed":[131,193],"prototype":[133],"successfully":[135],"applied":[136],"sorting":[142],"algorithms.":[143],"This":[144],"process":[145],"explained":[147],"paper":[150],"along":[151],"with":[152],"experiment":[154,186],"conducted":[157],"to":[158,175,178,194,211],"evaluate":[159],"performance":[161],"method.":[164],"Although":[165],"at":[168],"its":[169],"current":[170],"state,":[171],"still":[173],"sensitive":[174],"changes":[176],"made":[177],"algorithms,":[180],"encouraging":[182],"results":[183],"demonstrate":[187],"it":[189],"can":[190],"be":[191,195],"further":[192],"used":[196,215],"applications,":[203],"an":[205],"example,":[206],"assessment":[209],"tools":[210],"check":[212],"by":[216],"students,":[217],"functionality":[219],"currently":[222],"missing":[223],"these":[225],"tools.":[226]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
