Use, disuse, and misuse of automated refactorings

M Vakilian, N Chen, S Negara… - 2012 34th …, 2012 - ieeexplore.ieee.org
Though refactoring tools have been available for more than a decade, research has shown
that programmers underutilize such tools. However, little is known about why programmers …

Reliable testing: Detecting state-polluting tests to prevent test dependency

A Gyori, A Shi, F Hariri, D Marinov - Proceedings of the 2015 …, 2015 - dl.acm.org
Writing reliable test suites for large object-oriented systems is complex and time consuming.
One common cause of unreliable test suites are test dependencies that can cause tests to …

Kremlin: Rethinking and rebooting gprof for the multicore age

S Garcia, D Jeon, CM Louie, MB Taylor - ACM SIGPLAN Notices, 2011 - dl.acm.org
Many recent parallelization tools lower the barrier for parallelizing a program, but overlook
one of the first questions that a programmer needs to answer: which parts of the program …

Retrofitting concurrency for android applications through refactoring

Y Lin, C Radoi, D Dig - Proceedings of the 22nd ACM SIGSOFT …, 2014 - dl.acm.org
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone
apps can severely degrade responsiveness. Despite the fact that Android supports writing …

Study and refactoring of android asynchronous programming (t)

Y Lin, S Okur, D Dig - 2015 30th IEEE/ACM International …, 2015 - ieeexplore.ieee.org
To avoid unresponsiveness, a core part of mobile development is asynchronous
programming. Android providesseveral async constructs that developers can use. However …

Specifying and implementing refactorings

M Schäfer, O De Moor - … of the ACM international conference on Object …, 2010 - dl.acm.org
Modern IDEs for object-oriented languages like Java provide support for a basic set of
simple automated refactorings whose behaviour is easy to describe intuitively. It is, however …

A refactoring approach to parallelism

D Dig - IEEE software, 2010 - ieeexplore.ieee.org
In the multicore era, a major programming task will be to make programs more parallel. This
is tedious because it requires changing many lines of code; it's also error-prone and …

A study and toolkit for asynchronous programming in C#

S Okur, DL Hartveld, D Dig, A Deursen - Proceedings of the 36th …, 2014 - dl.acm.org
Asynchronous programming is in demand today, because responsiveness is increasingly
important on all modern devices. Yet, we know little about how developers use …

Automatic migration from synchronous to asynchronous JavaScript APIs

S Gokhale, A Turcotte, F Tip - Proceedings of the ACM on Programming …, 2021 - dl.acm.org
The JavaScript ecosystem provides equivalent synchronous and asynchronous Application
Programming Interfaces (APIs) for many commonly used I/O operations. Synchronous APIs …

Relooper: refactoring for loop parallelism in Java

D Dig, M Tarce, C Radoi, M Minea… - Proceedings of the 24th …, 2009 - dl.acm.org
In the multicore era, sequential programs need to be refactored for parallelism. The next
version of Java provides ParallelArray, an array datastructure that supports parallel …