Open Access. Powered by Scholars. Published by Universities.®
Physical Sciences and Mathematics Commons™
Open Access. Powered by Scholars. Published by Universities.®
Articles 1 - 5 of 5
Full-Text Articles in Physical Sciences and Mathematics
Exploratory Programming In The Arts And Humanities [Book Review], Kelly Hammond
Exploratory Programming In The Arts And Humanities [Book Review], Kelly Hammond
Publications and Research
Exploratory Programming is a testament to what open-access can mean, especially in an e-learning environment. Used in full, it is a free course (that relies on free and open software) from a gifted MIT professor whose pedagogy is clear in structure and tone. He scaffolds, promotes predictive thinking, lauds collaborative learning, and urges readers to do not just to read. Used in part, it can be equally powerful.
Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara
Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara
Publications and Research
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 …
Hackathons For Libraries And Librarians, Robin Camille Davis
Hackathons For Libraries And Librarians, Robin Camille Davis
Publications and Research
Hackathons can be ideal opportunities for libraries and librarians to promote new services and tools. In these social events, attendees form teams and work on a project together within a given time limit. This article explains hackathons, provides a brief history, and details how libraries and librarians can get involved. Similar event structures, like hack days and edit-a-thons, are also considered.
Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi T. Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe
Detecting Broken Pointcuts Using Structural Commonality And Degree Of Interest, Raffi T. Khatchadourian, Awais Rashd, Hidehiko Masuhara, Takuya Watanabe
Publications and Research
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 daunting, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a certain base-code change and ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonalities recommend pointcuts that have potentially broken to the developer. The approach …
Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid, Harry Xu
Pointcut Rejuvenation: Recovering Pointcut Expressions In Evolving Aspect-Oriented Software, Raffi T. Khatchadourian, Phil Greenwood, Awais Rashid, Harry Xu
Publications and Research
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, …