{"id":"https://openalex.org/W2518214351","doi":"https://doi.org/10.1145/2970276.2970348","title":"Migrating cascading style sheets to preprocessors by introducing mixins","display_name":"Migrating cascading style sheets to preprocessors by introducing mixins","publication_year":2016,"publication_date":"2016-08-25","ids":{"openalex":"https://openalex.org/W2518214351","doi":"https://doi.org/10.1145/2970276.2970348","mag":"2518214351"},"language":"en","primary_location":{"id":"doi:10.1145/2970276.2970348","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2970276.2970348","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st IEEE/ACM International Conference on Automated 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/A5085762342","display_name":"Davood Mazinanian","orcid":null},"institutions":[{"id":"https://openalex.org/I60158472","display_name":"Concordia University","ror":"https://ror.org/0420zvk78","country_code":"CA","type":"education","lineage":["https://openalex.org/I60158472"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Davood Mazinanian","raw_affiliation_strings":["Concordia University, Canada"],"affiliations":[{"raw_affiliation_string":"Concordia University, Canada","institution_ids":["https://openalex.org/I60158472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088438387","display_name":"Nikolaos Tsantalis","orcid":"https://orcid.org/0000-0003-2508-3845"},"institutions":[{"id":"https://openalex.org/I60158472","display_name":"Concordia University","ror":"https://ror.org/0420zvk78","country_code":"CA","type":"education","lineage":["https://openalex.org/I60158472"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Nikolaos Tsantalis","raw_affiliation_strings":["Concordia University, Canada"],"affiliations":[{"raw_affiliation_string":"Concordia University, Canada","institution_ids":["https://openalex.org/I60158472"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5085762342"],"corresponding_institution_ids":["https://openalex.org/I60158472"],"apc_list":null,"apc_paid":null,"fwci":5.9714,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.96265104,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"672","last_page":"683"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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.9957000017166138,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9932000041007996,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.8226857781410217},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.6480144262313843},{"id":"https://openalex.org/keywords/style-sheet","display_name":"Style sheet","score":0.6310782432556152},{"id":"https://openalex.org/keywords/cascading-style-sheets","display_name":"Cascading Style Sheets","score":0.6076120138168335},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5599579811096191},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5132143497467041},{"id":"https://openalex.org/keywords/preprocessor","display_name":"Preprocessor","score":0.5091401934623718},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.4825303256511688},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.43001365661621094},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3971257507801056},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.27470505237579346},{"id":"https://openalex.org/keywords/xml","display_name":"XML","score":0.2735867202281952},{"id":"https://openalex.org/keywords/web-page","display_name":"Web page","score":0.1983780860900879},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.14067679643630981}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8226857781410217},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.6480144262313843},{"id":"https://openalex.org/C89159866","wikidata":"https://www.wikidata.org/wiki/Q4119753","display_name":"Style sheet","level":3,"score":0.6310782432556152},{"id":"https://openalex.org/C93213560","wikidata":"https://www.wikidata.org/wiki/Q46441","display_name":"Cascading Style Sheets","level":3,"score":0.6076120138168335},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5599579811096191},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5132143497467041},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.5091401934623718},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.4825303256511688},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.43001365661621094},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3971257507801056},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.27470505237579346},{"id":"https://openalex.org/C8797682","wikidata":"https://www.wikidata.org/wiki/Q2115","display_name":"XML","level":2,"score":0.2735867202281952},{"id":"https://openalex.org/C21959979","wikidata":"https://www.wikidata.org/wiki/Q36774","display_name":"Web page","level":2,"score":0.1983780860900879},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.14067679643630981},{"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/2970276.2970348","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2970276.2970348","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Reduced inequalities","score":0.6899999976158142,"id":"https://metadata.un.org/sdg/10"}],"awards":[{"id":"https://openalex.org/G2244415753","display_name":null,"funder_award_id":"435480-2013","funder_id":"https://openalex.org/F4320334593","funder_display_name":"Natural Sciences and Engineering Research Council of Canada"},{"id":"https://openalex.org/G56490037","display_name":null,"funder_award_id":"2015-NC-180026","funder_id":"https://openalex.org/F4320334841","funder_display_name":"Fonds de recherche du Qu\u00e9bec \u2013 Nature et technologies"}],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"},{"id":"https://openalex.org/F4320334841","display_name":"Fonds de recherche du Qu\u00e9bec \u2013 Nature et technologies","ror":"https://ror.org/00b9f9778"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":42,"referenced_works":["https://openalex.org/W166216141","https://openalex.org/W1482624438","https://openalex.org/W1487664366","https://openalex.org/W1508506413","https://openalex.org/W1538887364","https://openalex.org/W1565377632","https://openalex.org/W1647641001","https://openalex.org/W1883167634","https://openalex.org/W1938740620","https://openalex.org/W1967785417","https://openalex.org/W1995799268","https://openalex.org/W2004771867","https://openalex.org/W2016279638","https://openalex.org/W2036436893","https://openalex.org/W2036892460","https://openalex.org/W2048236564","https://openalex.org/W2049639527","https://openalex.org/W2056563603","https://openalex.org/W2064853889","https://openalex.org/W2072190888","https://openalex.org/W2096783995","https://openalex.org/W2097557721","https://openalex.org/W2098124758","https://openalex.org/W2098277963","https://openalex.org/W2100872652","https://openalex.org/W2111816226","https://openalex.org/W2115486982","https://openalex.org/W2115694885","https://openalex.org/W2120695061","https://openalex.org/W2132085569","https://openalex.org/W2139101620","https://openalex.org/W2141069252","https://openalex.org/W2153887189","https://openalex.org/W2156581466","https://openalex.org/W2292662527","https://openalex.org/W2408619423","https://openalex.org/W2482589566","https://openalex.org/W2787379525","https://openalex.org/W3173108600","https://openalex.org/W4285719527","https://openalex.org/W6633894697","https://openalex.org/W6683106902"],"related_works":["https://openalex.org/W2373130829","https://openalex.org/W2371169784","https://openalex.org/W2772718566","https://openalex.org/W2469465462","https://openalex.org/W2091939639","https://openalex.org/W2992855911","https://openalex.org/W4244123764","https://openalex.org/W2181171704","https://openalex.org/W197764754","https://openalex.org/W2565836237"],"abstract_inverted_index":{"Cascading":[0],"Style":[1,157],"Sheets":[2],"(CSS)":[3],"is":[4,13,34,72,142],"the":[5,17,57,61,67,114,123,128,132,148],"standard":[6],"language":[7],"for":[8,76,90],"styling":[9],"web":[10,133],"documents":[11],"and":[12,38,44,120,156,160],"extensively":[14],"used":[15],"in":[16,96,113,154],"industry.":[18],"However,":[19],"CSS":[20,32,55,79,97,165],"lacks":[21],"constructs":[22],"that":[23,99,122,139,150],"would":[24],"allow":[25],"code":[26,33,80,98],"reuse":[27],"(e.g.,":[28,42],"functions).":[29],"Consequently,":[30],"maintaining":[31],"often":[35],"a":[36,88],"cumbersome":[37],"error-prone":[39],"task.":[40],"Preprocessors":[41],"Less":[43],"Sass)":[45],"have":[46],"been":[47],"introduced":[48,153],"to":[49,81,103,144],"fill":[50],"this":[51,84],"gap,":[52],"by":[53],"extending":[54],"with":[56],"missing":[58],"constructs.":[59],"Despite":[60],"clear":[62],"maintainability":[63],"benefits":[64],"coming":[65],"from":[66],"use":[68],"of":[69,117,131,147],"preprocessors,":[70],"there":[71],"currently":[73],"no":[74],"support":[75],"migrating":[77],"legacy":[78],"preprocessors.":[82],"In":[83],"paper,":[85],"we":[86],"propose":[87],"technique":[89,109,141],"automatically":[91],"detecting":[92],"duplicated":[93,118],"style":[94,115],"declarations":[95],"can":[100,110,161],"be":[101],"migrated":[102],"preprocessor":[104],"functions":[105],"(i.e.,":[106],"mixins).":[107],"Our":[108],"parameterize":[111],"differences":[112],"values":[116],"declarations,":[119],"ensure":[121],"migration":[124],"will":[125],"not":[126],"change":[127],"presentation":[129],"semantics":[130],"documents.":[134],"The":[135],"evaluation":[136],"has":[137],"shown":[138],"our":[140],"able":[143],"detect":[145],"98%":[146],"mixins":[149],"professional":[151],"developers":[152],"websites":[155],"Sheet":[158],"libraries,":[159],"safely":[162],"migrate":[163],"real":[164],"code.":[166]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
