all.bib

@inproceedings{Khatchadourian2017a,
  author = {Khatchadourian, Raffi and Masuhara, Hidehiko},
  title = {Automated Refactoring of Legacy {Java} Software to Default Methods},
  booktitle = {International Conference on Software Engineering},
  year = {2017},
  series = {ICSE '17},
  pages = {82--93},
  address = {Piscataway, NJ, USA},
  month = may,
  organization = {ACM/IEEE},
  publisher = {IEEE Press},
  note = {(68/398; 17\% acceptance rate)},
  abstract = {Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods to preserve type-correctness and confirm semantics preservation.  In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive rule set that covers various corner-cases where default methods cannot be used.  To demonstrate applicability, we implemented our approach as an Eclipse plug-in and applied it to 19 real-world Java projects, as well as submitted pull requests to popular GitHub repositories. The indication is that it is useful in migrating skeletal implementation methods to interfaces as default methods, sheds light onto the pattern's usage, and provides insight to language designers on how this new construct applies to existing software.},
  acmid = {3097379},
  date-added = {2016-09-06 15:51:33 +0000},
  date-modified = {2016-10-07 21:00:46 +0000},
  doi = {10.1109/ICSE.2017.16},
  isbn = {978-1-5386-3868-2},
  keywords = {Java, default methods, interfaces, refactoring},
  location = {Buenos Aires, Argentina},
  numpages = {12},
  owner = {Raffi Khatchadourian},
  timestamp = {2017.06.13},
  url = {http://academicworks.cuny.edu/hc_pubs/287}
}
@misc{fasoli2016,
  author = {Fasoli, Gianpaolo and Farrugia, Augustin and Govind, Apoorva and Khatchadourian, Raffi},
  date-added = {2016-03-29 20:54:11 +0000},
  date-modified = {2016-03-29 20:54:14 +0000},
  month = jan # {~21},
  note = {US Patent 20,160,019,375},
  number = {20160019375},
  title = {Controlling Use Of Shared Content Items Based On Client Device},
  url = {http://www.freepatentsonline.com/y2016/0019375.html},
  year = {2016}
}
@inproceedings{khatchadourian2015a,
  acmid = {2814195},
  address = {New York, NY, USA},
  author = {Khatchadourian, Raffi and Rashid, Awais and Masuhara, Hidehiko and Watanabe, Takuya},
  booktitle = {Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity},
  date-added = {2016-02-12 02:15:09 +0000},
  date-modified = {2016-02-12 02:39:45 +0000},
  doi = {10.1145/2814189.2814195},
  isbn = {978-1-4503-3722-9},
  keywords = {Aspect-Oriented programming, software evolution},
  location = {Pittsburgh, PA, USA},
  month = oct,
  numpages = {2},
  pages = {17--18},
  publisher = {ACM},
  series = {SPLASH Companion 2015},
  title = {Fraglight: Shedding Light on Broken Pointcuts in Evolving Aspect-oriented Software},
  url = {http://websupport1.citytech.cuny.edu/Faculty/rkhatchadourian/media/splashcomp15demo-demoid6-p-72a7a4c-26095-preprint.pdf},
  year = {2015}
}
@inproceedings{arefin2015,
  acmid = {2817277},
  address = {New York, NY, USA},
  author = {Arefin, Md. and Khatchadourian, Raffi},
  booktitle = {Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity},
  date-added = {2016-02-12 02:11:38 +0000},
  date-modified = {2016-02-12 02:37:53 +0000},
  doi = {10.1145/2814189.2817277},
  isbn = {978-1-4503-3722-9},
  keywords = {Java 8, lambda expressions, refactoring},
  location = {Pittsburgh, PA, USA},
  month = oct,
  numpages = {2},
  pages = {58--59},
  publisher = {ACM},
  series = {SPLASH Companion 2015},
  title = {Porting the NetBeans {Java} 8 Enhanced for Loop Lambda Expression Refactoring to {Eclipse}},
  url = {http://websupport1.citytech.cuny.edu/Faculty/rkhatchadourian/media/splashcomp15posters-postersid13-p-72a7a4c-26095-preprint.pdf},
  year = {2015}
}
@article{khatchadourian2016b,
  author = {Khatchadourian, Raffi},
  date-added = {2015-12-16 00:27:35 +0000},
  date-modified = {2016-01-21 19:47:55 +0000},
  journal = {Automated Software Engineering},
  keywords = {software environments,software maintenance,software tools,enumerated types,java,automated refactoring},
  doi = {10.1007/s10515-016-0208-8},
  title = {Automated refactoring of legacy {Java} software to enumerated types},
  pages = {1--31},
  abstract = {Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is easier to comprehend, removes unnecessary complexity, and eliminates brittleness problems due to separate compilation. At the core of the proposed approach is an interprocedural type inferencing algorithm which tracks the flow of enumerated values. The algorithm was implemented as an open source, publicly available Eclipse plug-in and evaluated experimentally on 17 large Java benchmarks. Our results indicate that analysis cost is practical and the algorithm can successfully refactor a substantial number of fields to enumerated types. This work is a significant step towards providing automated tool support for migrating legacy Java software to modern Java technologies.},
  url = {http://rdcu.be/nJcI},
  year = {2016}
}
@inproceedings{khatchadourian2016,
  acmid = {2892681},
  address = {New York, NY, USA},
  author = {Khatchadourian, Raffi and Moore, Olivia and Masuhara, Hidehiko},
  booktitle = {Companion Proceedings of the 15th International Conference on Modularity},
  date-added = {2016-04-08 17:50:59 +0000},
  date-modified = {2016-04-08 17:50:59 +0000},
  doi = {10.1145/2892664.2892681},
  isbn = {978-1-4503-4033-5},
  keywords = {default methods, interfaces, java, refactoring},
  location = {M\&\#225;laga, Spain},
  month = mar,
  numpages = {3},
  pages = {104--106},
  publisher = {ACM},
  series = {MODULARITY Companion 2016},
  title = {Towards Improving Interface Modularity in Legacy {Java} Software Through Automated Refactoring},
  url = {http://websupport1.citytech.cuny.edu/Faculty/rkhatchadourian/media/Towards%20Improving%20Interface%20Modularity%20in%20Legacy%20Java%20Software%20through%20Automated%20Refactoring.pdf},
  year = {2016}
}
@inproceedings{khatchadourian2015,
  address = {New York, NY, USA},
  author = {Khatchadourian, Raffi and Rashid, Awais and Masuhara, Hidehiko and Watanabe, Takuya},
  booktitle = {International Conference on Automated Software Engineering},
  date-added = {2015-07-20 15:19:33 +0000},
  date-modified = {2016-02-09 18:55:17 +0000},
  doi = {10.1109/ASE.2015.80},
  keywords = {aspect-oriented programming, program debugging, DOI model, Mylyn Eclipse IDE plug-in, aspect-oriented programming, broken pointcut detection, degree of interest model, pointcut fragility, structural characteristics, structural commonality, Java, Programming, Software, Software engineering, Aspect-Oriented programming, software evolution},
  location = {Lincoln, NE, USA},
  month = nov,
  note = {(77/326; 23.6\% acceptance rate).},
  pages = {641--646},
  publisher = {IEEE/ACM},
  series = {ASE 2015},
  title = {Detecting Broken Pointcuts using Structural Commonality and Degree of Interest},
  url = {http://khatchad.commons.gc.cuny.edu/files/2015/08/paper.pdf},
  year = {2015},
  bdsk-url-1 = {http://khatchad.commons.gc.cuny.edu/files/2015/08/paper.pdf}
}
@inproceedings{soundarajan09,
  address = {Auckland, New Zealand},
  author = {Soundarajan, Neelam and Khatchadourian, Raffi},
  booktitle = {Proceedings of the 5\textsuperscript{th} Asian Workshop on Aspect-Oriented and Modular Software Development (AOAsia '09) at the 24\textsuperscript{th} International Conference on Automated Software Engineering (ASE '09)},
  date-added = {2015-03-17 15:43:40 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  month = nov,
  title = {Specifying Reusable Aspects},
  url = {http://web.cse.ohio-state.edu/~neelam/papers/nfm2010.pdf},
  year = {2009},
  bdsk-url-1 = {http://web.cse.ohio-state.edu/~neelam/papers/nfm2010.pdf}
}
@inproceedings{khatchadourian07,
  address = {Vancouver, British Columbia, Canada},
  author = {Khatchadourian, Raffi and Soundarajan, Neelam},
  booktitle = {Proceedings of the 5\textsuperscript{th} International Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT '07) at the 6\textsuperscript{th} International Conference on Aspect-Oriented Software Development (AOSD '07)},
  date-added = {2015-03-17 15:43:40 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  doi = {10.1145/1233843.1233848},
  month = {March},
  publisher = {ACM},
  title = {Rely-Guarantee Approach to Reasoning about Aspect-Oriented Programs},
  year = {2007},
  bdsk-url-1 = {http://dx.doi.org/10.1145/1233843.1233848}
}
@inproceedings{khatchadourian08b,
  address = {Nashville, Tennessee, USA},
  author = {Khatchadourian, Raffi and Greenwood, Phil and Rashid, Awais},
  booktitle = {Proceedings of the 2\textsuperscript{nd} International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '08) at the 23\textsuperscript{rd} ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '08)},
  date-added = {2015-03-17 15:43:40 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  month = oct,
  organization = {Lancaster University},
  pages = {9--10},
  publisher = {ACM},
  title = {On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.7754},
  year = {2008},
  bdsk-url-1 = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.7754}
}
@inproceedings{khatchadourian08,
  address = {Brussels, Belgium},
  author = {Khatchadourian, Raffi and Dovland, Johan and Soundarajan, Neelam},
  booktitle = {Proceedings of the 7\textsuperscript{th} International Workshop on Foundations of Aspect-Oriented Languages (FOAL '08) at the 7\textsuperscript{th} International Conference on Aspect-Oriented Software Development (AOSD '08)},
  date-added = {2015-03-17 15:43:40 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  doi = {10.1145/1394496.1394499},
  isbn = {978-1-60558-110-1},
  keywords = {reasoning, aspect-oriented programming, verification, software evolution},
  month = apr,
  pages = {19--28},
  publisher = {ACM},
  title = {Enforcing Behavioral Constraints in Evolving Aspect-Oriented Programs},
  year = {2008}
}
@inproceedings{greenwood08,
  address = {Orlando, Florida, USA},
  author = {Greenwood, Phil and Rashid, Awais and Khatchadourian, Raffi},
  booktitle = {Proceedings of the 3\textsuperscript{rd} International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '09) at the 24\textsuperscript{th} ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '09)},
  date-added = {2015-03-17 15:43:40 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  month = oct,
  pages = {19--24},
  publisher = {ACM},
  title = {Contributing Factors to Pointcut Fragility},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.2718},
  year = {2009},
  bdsk-url-1 = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.2718}
}
@inproceedings{soundarajan07,
  address = {Cambridge, MA, USA},
  author = {Soundarajan, Neelam and Khatchadourian, Raffi and Dovland, Johan},
  booktitle = {Proceedings of the 11\textsuperscript{th} IASTED International Conference on Software Engineering and Applications (SEA '07)},
  date-added = {2015-03-17 15:43:38 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  editor = {Smith, J.},
  keywords = {Aspect-oriented programs, Behavioral reasoning},
  month = nov,
  publisher = {ACTA Press},
  title = {Reasoning about the Behavior of Aspect-Oriented Programs},
  url = {http://web.cse.ohio-state.edu/~neelam/papers/sea072.pdf},
  year = {2007},
  abstract = {Aspect-oriented programming (AOP) has become increasingly popular over the last few years. At the same time, reasoning about the behavior of these programs poses serious challenges. In this paper, we present a rely-guaranteeapproach to such reasoning. The rely-guarantee approach has proven useful in reasoning about concurrent and distributed programs. We show that some of the key problems encountered in reasoning about aspect-oriented programs are similar to those encountered in reasoning about concurrent programs; and that the rely-guarantee approach, appropriately modified, helps address these problems.  We illustrate our approach with a simple example.
},
  bdsk-url-1 = {http://web.cse.ohio-state.edu/~neelam/papers/sea072.pdf}
}
@inproceedings{khatchadourian09,
  author = {Khatchadourian, Raffi and Greenwood, Phil and Rashid, Awais and Xu, Guoqing},
  booktitle = {International Conference on Automated Software Engineering},
  title = {Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software},
  series = {ASE '09},
  month = nov,
  year = {2009},
  isbn = {978-0-7695-3891-4},
  pages = {575--579},
  numpages = {5},
  url = {http://www.ics.uci.edu/~guoqingx/papers/khatchadourian-ase09.pdf},
  doi = {10.1109/ASE.2009.37},
  acmid = {1747559},
  publisher = {IEEE/ACM},
  address = {Washington, DC, USA},
  keywords = {Software development environments, Software maintenance, Software tools},
  location = {Auckland, New Zealand},
  note = {(71/222; 32\% acceptance rate).}
}
@inproceedings{soundarajan11,
  author = {Soundarajan, Neelam and Bronish, Derek and Khatchadourian, Raffi},
  booktitle = {Proceedings of the 23\textsuperscript{rd} International Conference on Software Engineering {\&} Knowledge Engineering (SEKE '11)},
  date-added = {2015-03-17 15:43:38 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  month = jul,
  pages = {111--114},
  publisher = {Knowledge Systems Institute Graduate School},
  title = {Formalizing Reusable Aspect-Oriented Concurrency Control},
  url = {http://web.cse.ohio-state.edu/~neelam/papers/seke11.pdf},
  year = {2011},
  bdsk-url-1 = {http://web.cse.ohio-state.edu/~neelam/papers/seke11.pdf}
}
@inproceedings{khatchadourian07b,
  author = {Khatchadourian, Raffi and Sawin, Jason and Rountev, Atanas},
  booktitle = {International Conference on Software Maintenance},
  date-added = {2015-03-17 15:43:38 +0000},
  date-modified = {2015-09-29 16:03:58 +0000},
  doi = {10.1109/ICSM.2007.4362635},
  issn = {1063-6773},
  keywords = {Java;programming language semantics;software maintenance;Java 1.5;Java technology;enum construct;legacy Java code;legacy Java software;semantics-preserving approach;Algorithm design and analysis;Application software;Costs;Inference algorithms;Java;Programming profession;Robustness;Safety;Software maintenance;Software tools},
  location = {Paris, France},
  month = oct,
  note = {(46/214; 21\% acceptance rate).},
  pages = {224--233},
  publisher = {IEEE},
  series = {ICSM 2007},
  title = {Automated Refactoring of Legacy {Java} Software to Enumerated Types},
  url = {http://web.cse.ohio-state.edu/~rountev/presto/pubs/icsm07.pdf},
  year = {2007},
  bdsk-url-1 = {http://web.cse.ohio-state.edu/~rountev/presto/pubs/icsm07.pdf}
}
@inproceedings{khatchadourian08a,
  address = {Beijing, China},
  author = {Khatchadourian, Raffi and Rashid, Awais},
  booktitle = {Proceedings of the 8\textsuperscript{th} International Working Conference on Source Code Analysis and Manipulation (SCAM '08)},
  date-added = {2015-03-17 15:43:34 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  keywords = {aspect-oriented automated evolution fragile fragility pointcut programming},
  month = sep,
  pages = {261--262},
  publisher = {IEEE},
  title = {Rejuvenate Pointcut: A Tool for Pointcut Expression Recovery in Evolving Aspect-Oriented Software},
  url = {http://www.ieee-scam.org/2008/papers/Khatchadourian.pdf},
  year = {2008},
  bdsk-url-1 = {http://www.ieee-scam.org/2008/papers/Khatchadourian.pdf}
}
@inproceedings{khatchadourian10,
  address = {Antwerp, Belgium},
  author = {Khatchadourian, Raffi and Muskalla, Benjamin},
  booktitle = {Proceedings of the 25\textsuperscript{th} International Conference on Automated Software Engineering (ASE '10)},
  date-added = {2015-03-17 15:43:34 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  doi = {10.1145/1858996.1859036},
  month = sep,
  note = {(18/45; 40\% tool demonstration acceptance rate).},
  pages = {181--182},
  publisher = {IEEE/ACM},
  title = {Enumeration Refactoring: A Tool for Automatically Converting {Java} Constants to Enumerated Types},
  year = {2010},
  bdsk-url-1 = {http://dx.doi.org/10.1145/1858996.1859036}
}
@phdthesis{khatchadourian11,
  address = {247 University Hall, 230 North Oval Mall, Columbus, OH, USA 43210},
  author = {Khatchadourian, Raffi},
  date-added = {2015-03-17 15:43:30 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  month = apr,
  school = {Ohio State University},
  title = {Techniques for Automated Software Evolution},
  url = {http://rave.ohiolink.edu/etdc/view?acc_num=osu1304885155},
  year = {2011},
  bdsk-url-1 = {http://rave.ohiolink.edu/etdc/view?acc_num=osu1304885155}
}
@techreport{khatchadourian08c,
  address = {Lancaster, UK},
  author = {Khatchadourian, Raffi and Greenwood, Phil and Rashid, Awais and Xu, Guoqing},
  date-added = {2015-03-17 15:43:27 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {Lancaster University},
  month = aug,
  number = {COMP-001-2008, Revised March 2009, May 2009},
  title = {Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software},
  url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.151.7274&rep=rep1&type=pdf},
  year = {2008},
  bdsk-url-1 = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.151.7274&rep=rep1&type=pdf}
}
@techreport{khatchadourian07a,
  author = {Khatchadourian, Raffi and Sawin, Jason and Rountev, Atanas},
  date-added = {2015-03-17 15:43:27 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {Ohio State University},
  month = apr,
  number = {OSU-CISRC-4/07-TR26},
  title = {Automated Refactoring of Legacy {Java} Software to Enumerated Types},
  url = {http://web.cse.ohio-state.edu/~rountev/presto/pubs/tr26.pdf},
  year = 2007,
  bdsk-url-1 = {http://web.cse.ohio-state.edu/~rountev/presto/pubs/tr26.pdf}
}
@techreport{pinto08,
  author = {Pinto, M\'onica and Fuentes, Lidia and Chitchyan, Ruzanna and Rashid, Awais and Jackson, Andrew and Clarke, Siobh\'an and Shishkov, Boris and Tekinerdogan, Bedir and Aksit, Mehmet and Greenwood, Phil and Khatchadourian, Raffi},
  date-added = {2015-03-17 15:43:19 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {European Network of Excellence on Aspect-Oriented Software Development},
  month = jul,
  number = {AOSD-Europe Deliverable D126, AOSD-Europe-ULANC-43},
  title = {Traceability Framework: From Requirements Through Architecture and Design},
  url = {http://www.citeulike.org/user/khatchad/article/4993367},
  year = {2008},
  bdsk-url-1 = {http://www.citeulike.org/user/khatchad/article/4993367}
}
@techreport{royer08,
  author = {Royer, Jean-Claude and Noppen, Joost and Anquetil, Nicolas and Rummler, Andreas and Mitschke, Ralf and Sousa, Andr\'e and Kulesza, Uira and Khatchadourian, Raffi and Greenwood, Phil and Rashid, Awais and Galvao, Ism\^{e}nia},
  date-added = {2015-03-17 15:43:19 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {Aspect-Oriented, Model-Driven Product Line Engineering},
  month = oct,
  number = {AMPLE D4.2},
  title = {Software support for the traceability framework, including extension of current configuration management and product line evolution model},
  url = {http://www.citeulike.org/user/khatchad/article/4993335},
  year = {2008},
  bdsk-url-1 = {http://www.citeulike.org/user/khatchad/article/4993335}
}
@techreport{khatchadourian08d,
  author = {Khatchadourian, Raffi and Chitchyan, Ruzanna and Greenwood, Phil and Rashid, Awais and Valenzuela, Juan A. and Fern\'andez, Luis M. and Pinto, M\'onica and Fuentes, Lidia and Jackson, Andrew and Clarke, Siobh\'an},
  date-added = {2015-03-17 15:43:19 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {European Network of Excellence on Aspect-Oriented Software Development},
  month = sep,
  number = {AOSD-Europe Deliverable D132, AOSD-Europe-ULANC-49},
  title = {Overall Aspect-Oriented Analysis and Design Approach},
  url = {http://www.citeulike.org/user/khatchad/article/4993356},
  year = {2008},
  bdsk-url-1 = {http://www.citeulike.org/user/khatchad/article/4993356}
}
@techreport{rashid08,
  author = {Rashid, Safoora Omer and Chitchyan, Ruzanna and Rashid, Awais and Khatchadourian, Raffi and Greenwood, Phil},
  date-added = {2015-03-17 15:43:19 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  institution = {European Network of Excellence on Aspect-Oriented Software Development},
  month = jan,
  number = {AOSD-Europe Deliverable D110, AOSD-Europe-ULANC-40},
  title = {Approach for Change Impact Analysis of Aspectual Requirements},
  url = {http://scc-aosd.lancs.ac.uk/deliverables/d110.pdf},
  year = {2008},
  bdsk-url-1 = {http://scc-aosd.lancs.ac.uk/deliverables/d110.pdf}
}
@article{khatchadourian12,
  author = {Khatchadourian, Raffi and Greenwood, Phil and Rashid, Awais and Xu, Guoqing},
  date-added = {2015-03-17 15:43:14 +0000},
  date-modified = {2015-08-21 03:44:39 +0000},
  doi = {10.1109/TSE.2011.21},
  issn = {0098-5589},
  journal = {IEEE Transactions on Software Engineering (TSE)},
  keywords = {aspect-oriented programming;AspectJ programs;aspect-oriented programming;aspect-oriented software;deep structural commonalities harnessing;join points;parameterized heuristic algorithm;pattern analysis;pointcut expression recovery;pointcut fragility;pointcut maintenance;pointcut rejuvenation;program elements;Fuels;Observers;Programming;Proposals;Robustness;Software;Software engineering;Software development environments;software maintenance;software tools.},
  number = {3},
  pages = {642-657},
  title = {Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software},
  volume = {38},
  year = {2012},
  url = {http://www.ics.uci.edu/~guoqingx/papers/khatchadourian-tse12.pdf},
  abstract = {Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base code can lead to join points incorrectly falling in or out of the scope of pointcuts. In this paper, we present an automated approach that limits fragility problems by providing mechanical assistance in pointcut maintenance. The approach is based on harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut. The extracted patterns are then applied to later versions to offer suggestions of new join points that may require inclusion. To illustrate that the motivation behind our proposal is well founded, we first empirically establish that join points captured by a single pointcut typically portray a significant amount of unique structural commonality by analyzing patterns extracted from 23 AspectJ programs. Then, we demonstrate the usefulness of our technique by rejuvenating pointcuts in multiple versions of three of these programs. The results show that our parameterized heuristic algorithm was able to accurately and automatically infer the majority of new join points in subsequent software versions that were not captured by the original pointcuts.}
}
@inproceedings{Khatchadourian2017,
  author = {Khatchadourian, Raffi and Masuhara, Hidehiko},
  title = {Proactive Empirical Assessment of New Language Feature Adoption via Automated Refactoring: The Case of {Java} 8 Default Methods},
  booktitle = {submission to the International Conference on Automated Software Engineering},
  year = {2017},
  series = {ASE '17},
  month = oct,
  organization = {ACM/IEEE},
  location = {Urbana-Champaign, Illinois, USA},
  owner = {rk1424},
  timestamp = {2017.05.15}
}
@article{Khatchadourian2017b,
  author = {Khatchadourian, Raffi and Rashid, Awais and Masuhara, Hidehiko and Watanabe, Takuya},
  title = {Detecting Broken Pointcuts using Structural Commonality and Degree of Interest},
  journal = {Science of Computer Programming},
  year = {2017},
  note = {To appear.},
  abstract = {Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is a daunting venture, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a particular base-code change, as well as ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonality are used to recommend pointcuts that have potentially broken with a degree of confidence as the developer is typing. The approach is implemented as an extension to the popular Mylyn Eclipse IDE plug-in, which maintains focused contexts of entities relevant to the task at hand using a Degree of Interest (DOI) model. We show that it is accurate in revealing broken pointcuts by applying it to multiple versions of several open source projects and evaluating the quality of the recommendations produced against actual modifications. We found that our tool made broken pointcuts 2.14 times more interesting in the DOI model than unbroken ones, with a p-value under 0.1, indicating a significant difference in final DOI value between the two kinds of pointcuts (i.e., broken and unbroken).},
  date-added = {2015-12-18 16:48:42 +0000},
  date-modified = {2016-09-06 23:49:43 +0000},
  keywords = {Software development environments, Software maintenance, Software tools},
  owner = {rk1424},
  timestamp = {2017.06.26},
  url = {http://academicworks.cuny.edu/hc_pubs/300}
}
@comment{{jabref-meta: databaseType:bibtex;}}

This file was generated by bibtex2html 1.98.