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...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
In multicore era, programmers exploit concurrent programming to gain performance and responsiveness ...
The JavaScript ecosystem provides equivalent synchronous and asynchronous Application ProgrammingInt...
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...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
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...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
JavaScript is a widely used programming language that makes extensive use of asynchronous computatio...
The rise of Electrical control units inside of vehicles has led to strict safety regulationsin terms...
Asynchronous programming is a standard approach for designing responsive applications. Modern langua...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to thei...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
In multicore era, programmers exploit concurrent programming to gain performance and responsiveness ...
The JavaScript ecosystem provides equivalent synchronous and asynchronous Application ProgrammingInt...
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...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android pr...
Concurrency is becoming the norm in modern software because multicores are now everywhere. Developer...
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...
© 2015 ACM.Programming efficient asynchronous systems is challenging because it can often be hard to...
JavaScript is a widely used programming language that makes extensive use of asynchronous computatio...
The rise of Electrical control units inside of vehicles has led to strict safety regulationsin terms...
Asynchronous programming is a standard approach for designing responsive applications. Modern langua...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
This thesis is about scalable analysis and testing techniques for asynchronous programs. Due to thei...
Software components expose Application Programming Interfaces (APIs) as a means to access their func...
In multicore era, programmers exploit concurrent programming to gain performance and responsiveness ...
The JavaScript ecosystem provides equivalent synchronous and asynchronous Application ProgrammingInt...