{"id":"https://openalex.org/W2963461588","doi":"https://doi.org/10.1145/3236024.3275532","title":"Automated refactoring of nested-IF formulae in spreadsheets","display_name":"Automated refactoring of nested-IF formulae in spreadsheets","publication_year":2018,"publication_date":"2018-10-26","ids":{"openalex":"https://openalex.org/W2963461588","doi":"https://doi.org/10.1145/3236024.3275532","mag":"2963461588"},"language":"en","primary_location":{"id":"doi:10.1145/3236024.3275532","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3236024.3275532","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","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/A5088708850","display_name":"Jie M. Zhang","orcid":"https://orcid.org/0000-0003-0481-7264"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Jie Zhang","raw_affiliation_strings":["Peking University, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Peking University, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5006300825","display_name":"Shi Han","orcid":"https://orcid.org/0000-0002-0360-6089"},"institutions":[{"id":"https://openalex.org/I4210113369","display_name":"Microsoft Research Asia (China)","ror":"https://ror.org/0300m5276","country_code":"CN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210113369"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Shi Han","raw_affiliation_strings":["Microsoft Research, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, China","institution_ids":["https://openalex.org/I4210113369"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085393851","display_name":"Dan Hao","orcid":"https://orcid.org/0000-0001-8295-303X"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Dan Hao","raw_affiliation_strings":["Peking University, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Peking University, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100388576","display_name":"Lu Zhang","orcid":"https://orcid.org/0000-0001-8304-7055"},"institutions":[{"id":"https://openalex.org/I20231570","display_name":"Peking University","ror":"https://ror.org/02v51f717","country_code":"CN","type":"education","lineage":["https://openalex.org/I20231570"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Lu Zhang","raw_affiliation_strings":["Peking University, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Peking University, China","institution_ids":["https://openalex.org/I20231570"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100331488","display_name":"Dongmei Zhang","orcid":"https://orcid.org/0000-0002-9230-2799"},"institutions":[{"id":"https://openalex.org/I4210113369","display_name":"Microsoft Research Asia (China)","ror":"https://ror.org/0300m5276","country_code":"CN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210113369"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Dongmei Zhang","raw_affiliation_strings":["Microsoft Research, China"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, China","institution_ids":["https://openalex.org/I4210113369"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"833","last_page":"838"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T13197","display_name":"Spreadsheets and End-User Computing","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/T13197","display_name":"Spreadsheets and End-User Computing","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/T11875","display_name":"Statistics Education and Methodologies","score":0.9372000098228455,"subfield":{"id":"https://openalex.org/subfields/2613","display_name":"Statistics and Probability"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.8698352575302124},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.796849250793457},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7159921526908875},{"id":"https://openalex.org/keywords/redundancy","display_name":"Redundancy (engineering)","score":0.5622525215148926},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.5600014925003052},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5519876480102539},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5438353419303894},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4990084171295166},{"id":"https://openalex.org/keywords/nested-loop-join","display_name":"Nested loop join","score":0.4715469181537628},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3996807634830475},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3869338035583496},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.34910377860069275},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.17214033007621765}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.8698352575302124},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.796849250793457},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7159921526908875},{"id":"https://openalex.org/C152124472","wikidata":"https://www.wikidata.org/wiki/Q1204361","display_name":"Redundancy (engineering)","level":2,"score":0.5622525215148926},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.5600014925003052},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5519876480102539},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5438353419303894},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4990084171295166},{"id":"https://openalex.org/C1306188","wikidata":"https://www.wikidata.org/wiki/Q4060687","display_name":"Nested loop join","level":2,"score":0.4715469181537628},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3996807634830475},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3869338035583496},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.34910377860069275},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.17214033007621765},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3236024.3275532","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3236024.3275532","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5199999809265137,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W156058692","https://openalex.org/W1648616135","https://openalex.org/W1987407028","https://openalex.org/W2014216297","https://openalex.org/W2026539153","https://openalex.org/W2038340833","https://openalex.org/W2135473121","https://openalex.org/W2144849164","https://openalex.org/W2151867683","https://openalex.org/W2192907926","https://openalex.org/W2404721232","https://openalex.org/W2547709064","https://openalex.org/W2554473058","https://openalex.org/W2605499927"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W1964661231","https://openalex.org/W4254960163","https://openalex.org/W2395465245","https://openalex.org/W3110264473","https://openalex.org/W2072205733","https://openalex.org/W2101762871","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W4312761314"],"abstract_inverted_index":{"Spreadsheets":[0],"are":[1,38,63,95],"the":[2,22,69,73,90,118,132,153,170,176],"most":[3],"popular":[4],"end-user":[5],"programming":[6,49],"software,":[7],"where":[8],"formulae":[9,167],"act":[10],"like":[11],"programs":[12],"and":[13,31,37,126,148,151],"also":[14],"have":[15,28,143],"smells.":[16],"One":[17],"well":[18],"recognized":[19],"smell":[20,177],"is":[21,121,172],"use":[23,91],"of":[24,72,92,117,134,178,181],"nested-IF":[25,93,166,182],"expressions,":[26],"which":[27],"low":[29],"readability":[30],"high":[32],"cognitive":[33],"cost":[34],"for":[35],"users,":[36],"error-prone":[39],"during":[40],"reuse":[41],"or":[42,54],"maintenance.":[43],"End":[44],"users":[45],"usually":[46],"lack":[47],"essential":[48],"language":[50],"knowledge":[51],"to":[52,106,174],"tackle":[53],"even":[55],"realize":[56],"this":[57,108],"problem,":[58],"yet":[59],"no":[60],"automatic":[61,111,119],"approaches":[62],"currently":[64],"available.":[65],"This":[66],"paper":[67],"proposes":[68],"first":[70],"exploration":[71],"nest-if":[74],"usage":[75],"status":[76],"against":[77],"two":[78],"large-scale":[79],"spreadsheet":[80],"corpora":[81],"containing":[82],"over":[83,163,179],"80,000":[84],"industry-level":[85],"spreadsheets.":[86],"It":[87],"turns":[88],"out":[89],"expressions":[94],"surprisingly":[96],"common":[97],"among":[98],"end":[99],"users.":[100],"We":[101],"then":[102],"present":[103],"an":[104],"approach":[105,120,171],"tackling":[107],"problem":[109],"through":[110],"formula":[112],"refactoring.":[113],"The":[114],"general":[115],"idea":[116],"two-fold.":[122],"First,":[123],"we":[124,138],"detect":[125],"remove":[127],"logic":[128],"redundancy":[129],"based":[130],"on":[131],"AST":[133],"a":[135],"formula.":[136],"Second,":[137],"identify":[139],"higher-level":[140],"semantics":[141],"that":[142,169],"been":[144],"represented":[145],"with":[146,162],"fragmented":[147],"scattered":[149],"syntax,":[150],"reassemble":[152],"syntax":[154],"using":[155],"concise":[156],"built-in":[157],"functions.":[158],"A":[159],"comprehensive":[160],"evaluation":[161],"28":[164],"million":[165],"reveals":[168],"able":[173],"relieve":[175],"90%":[180],"formulae.":[183]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
