• Publications
  • Influence
Going big: a large-scale study on what big data developers ask
TLDR
A set of big data tags are developed to extract big data posts from Stackoverflow and topic modeling is used to group these posts into big data topics, and popularity and difficulty of topics and their correlations are analyzed.
Automated Refactoring of Legacy Java Software to Enumerated Types
TLDR
This work presents a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct that increases type safety, produces code that is easier to comprehend, removes unnecessary complexity, and eliminates brittleness problems due to separate compilation.
An Empirical Study on the Use and Misuse of Java 8 Streams
TLDR
This study explores the use and misuse of a popular streaming API, namely, Java 8 Streams, and indicates that streams are pervasive, parallelization is not widely used, and performance is a crosscutting concern that accounted for the majority of fixes.
Automated Refactoring of Legacy Java Software to Default Methods
TLDR
This paper presents an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software and provides insight to language designers on how this new construct applies to existing software.
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software
TLDR
An automated approach is presented that limits fragility problems by providing mechanical assistance in pointcut maintenance by harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut.
Defaultification refactoring: A tool for automatically converting Java methods to default
TLDR
An automated refactoring tool called MIGRATE Skeletal Implementation to Interface is demonstrated for transforming legacy Java code to use the new default construct, which is semantically equivalent to the original, more succinct, easier to comprehend, less complex, and exhibits increased modularity.
Pointcut Rejuvenation: Recovering Pointcut Expressions in Evolving Aspect-Oriented Software
TLDR
An automated approach that limits fragility problems by providing mechanical assistance in pointcut maintenance by harnessing arbitrarily deep structural commonalities between program elements corresponding to join points selected by a pointcut is presented.
Contributing Factors to Pointcut Fragility
TLDR
A number of common practices were uncovered that were employed both in the aspect and basecode that contributed to or prevented pointcut fragility.
...
1
2
3
4
5
...