Asynchronous programming is in demand today, because responsiveness is increasingly important on all modern devices. Yet, we know little about how developers use asynchronous programming in practice. Without such knowledge, developers, researchers, language and library designers, and tool vendors can make wrong assumptions. We present the first study that analyzes the usage of asynchronous programming in a large experiment. We analyzed 1378 open source Windows Phone (WP) apps, comprising 12M SLOC, produced by 3376 developers. Using this data, we answer 2 research questions about use and misuse of asynchronous constructs. Inspired by these findings, we developed (i) Asyncifier, an automated refactoring tool that converts callback-based as...
This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to thei...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Asynchronous programming is in demand today, because responsiveness is increasingly important on all...
Asynchronous programming is in demand today, because re-sponsiveness is increasingly important on al...
Microsoft has introduced the async/await keywords in C# 5.0 to support developers that need to apply...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to thei...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Asynchronous programming is in demand today, because responsiveness is increasingly important on all...
Asynchronous programming is in demand today, because re-sponsiveness is increasingly important on al...
Microsoft has introduced the async/await keywords in C# 5.0 to support developers that need to apply...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
Running compute-intensive or blocking I/O operations in the UI event thread of smartphone apps can s...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to thei...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...