{"id":"https://openalex.org/W1994739167","doi":"https://doi.org/10.1145/1094855.1094901","title":"Refactoring the JUnit framework using aspect-oriented programming","display_name":"Refactoring the JUnit framework using aspect-oriented programming","publication_year":2005,"publication_date":"2005-10-16","ids":{"openalex":"https://openalex.org/W1994739167","doi":"https://doi.org/10.1145/1094855.1094901","mag":"1994739167"},"language":"en","primary_location":{"id":"doi:10.1145/1094855.1094901","doi":"https://doi.org/10.1145/1094855.1094901","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1094855.1094901","pdf_url":null,"source":{"id":"https://openalex.org/S7407086163","display_name":"Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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/A5064571846","display_name":"Uir\u00e1 Kulesza","orcid":"https://orcid.org/0000-0002-5467-6458","observed_orcids":["https://orcid.org/0000-0002-5467-6458"]},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Uir\u00e1 Kulesza","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039530559","display_name":"Cl\u00e1udio Sant\u2019Anna","orcid":"https://orcid.org/0000-0002-6005-5463","observed_orcids":["https://orcid.org/0000-0002-6005-5463"]},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Cl\u00e1udio Sant'Anna","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5021306015","display_name":"Carlos J. P. de Lucena","orcid":"https://orcid.org/0000-0001-9669-2352","observed_orcids":["https://orcid.org/0000-0001-9669-2352"]},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Carlos Lucena","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I2699952"],"apc_list":null,"apc_paid":null,"fwci":0.5399,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.58962506,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"136","last_page":"137"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9990000128746033,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9990000128746033,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.00019999999494757503,"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.00019999999494757503,"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/junit","display_name":"JUnit","score":0.7929999828338623},{"id":"https://openalex.org/keywords/aspectj","display_name":"AspectJ","score":0.8640000224113464},{"id":"https://openalex.org/keywords/aspect-oriented-programming","display_name":"aspect-oriented programming","score":0.9819999933242798},{"id":"https://openalex.org/keywords/refactoring","display_name":"refactoring","score":0.8820000290870667},{"id":"https://openalex.org/keywords/modularization","display_name":"modularization","score":0.7710000276565552},{"id":"https://openalex.org/keywords/crosscutting-concerns","display_name":"crosscutting concerns","score":0.9850000143051147},{"id":"https://openalex.org/keywords/software-maintainability","display_name":"software maintainability","score":0.7549999952316284},{"id":"https://openalex.org/keywords/software-reusability","display_name":"software reusability","score":0.6660000085830688},{"id":"https://openalex.org/keywords/framework-extension","display_name":"framework extension","score":0.4740000069141388}],"concepts":[{"id":"https://openalex.org/C2781009160","wikidata":"https://www.wikidata.org/wiki/Q735604","display_name":"AspectJ","level":4,"score":0.9423403143882751},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.8327871561050415},{"id":"https://openalex.org/C60051680","wikidata":"https://www.wikidata.org/wiki/Q30267","display_name":"Aspect-oriented programming","level":3,"score":0.757469892501831},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7568540573120117},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.7054607272148132},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6804351806640625},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.6796682476997375},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.6623098850250244},{"id":"https://openalex.org/C137981799","wikidata":"https://www.wikidata.org/wiki/Q1369184","display_name":"Reusability","level":3,"score":0.6443125009536743},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5271617770195007},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.4483441710472107},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.4237586557865143},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.374200701713562}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1094855.1094901","doi":"https://doi.org/10.1145/1094855.1094901","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1094855.1094901","pdf_url":null,"source":{"id":"https://openalex.org/S7407086163","display_name":"Companion to the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.499.8451","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.499.8451","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.dmi.usherb.ca/~sgiroux/COURS/2008/ift785/fichiers/articles/AspectOrientedProgramming/p136-kulesza.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1567899797","https://openalex.org/W1991601392","https://openalex.org/W2029414465","https://openalex.org/W2071935327","https://openalex.org/W2097964082"],"related_works":["https://openalex.org/W2160444150","https://openalex.org/W7097782201","https://openalex.org/W2342354305","https://openalex.org/W2144754405","https://openalex.org/W2350715065","https://openalex.org/W3110865359","https://openalex.org/W173689386","https://openalex.org/W1573866550","https://openalex.org/W2969910352","https://openalex.org/W2520608219"],"abstract_inverted_index":{"Aspect-Oriented":[0],"Programming":[1],"(AOP)":[2],"has":[3,119],"been":[4],"proposed":[5],"as":[6,130,132],"a":[7],"complementary":[8],"modularization":[9,109],"technique":[10],"to":[11,41,54,61,82,122,133],"the":[12,18,30,43,96,99,104,114,123,128],"existing":[13,72],"object-oriented":[14,101],"techniques.":[15,90],"AOP":[16,39],"encourages":[17],"modular":[19],"development":[20],"of":[21,47,98,110,113,127],"complex":[22],"software":[23,49,85],"by":[24],"providing":[25],"support":[26],"for":[27],"cleanly":[28],"separating":[29],"basic":[31],"system":[32],"functionality":[33],"from":[34],"its":[35],"crosscutting":[36],"concerns.":[37],"Since,":[38],"aims":[40],"improve":[42],"maintainability":[44,126],"and":[45,75,125],"reusability":[46],"OO":[48,73,89],"systems,":[50],"it":[51,65,78],"is":[52],"necessary":[53],"develop":[55],"case":[56],"studies":[57],"that":[58],"enable":[59],"us":[60],"evaluate:":[62],"(i)":[63],"how":[64,77],"can":[66,79],"be":[67,80],"used":[68,81],"in":[69],"conjunction":[70],"with":[71],"techniques;":[74],"(ii)":[76],"modularize":[83],"specific":[84,111],"features":[86,112],"better":[87],"than":[88],"In":[91],"this":[92],"work,":[93],"we":[94],"present":[95],"refactoring":[97],"JUnit":[100,115],"framework":[102,116],"using":[103,117],"AspectJ":[105,118],"programming":[106],"language.":[107],"The":[108],"brought":[120],"benefits":[121],"understanding":[124],"framework,":[129],"well":[131],"implement":[134],"more":[135],"flexible":[136],"extensions.":[137]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2013,"cited_by_count":2}],"updated_date":"2026-10-30T12:39:25.321706","created_date":"2016-06-24T00:00:00"}
