An Empirical Evaluation of and Toolkit for Asynchronous Programming in C# Windows Phone Apps:
Institution: | Delft University of Technology |
---|---|
Department: | |
Year: | 2014 |
Keywords: | software engineering; asynchronous programming; empirical survey; refactoring; async/await |
Record ID: | 1247368 |
Full text PDF: | http://resolver.tudelft.nl/uuid:77a1d7a3-7475-453a-b303-c22e6c779a0b |
Microsoft has introduced the async/await keywords in C# 5.0 to support developers that need to apply asynchronous programming techniques. However, do developers really use the new keywords, and do they use them correctly? An empirical survey of 1378 open source repositories from GitHub and CodePlex shows that developers often make mistakes. By providing live feedback in the IDE, and by providing a refactoring tool to automatically refactor legacy APM-based code to modern async/await-based code, developers can be supported in using the new language feature correctly. An evaluation of the developed tools shows that they are useful: GitHub pull requests based on patches generated with the developed tools were readily accepted by several open source projects.