Print Email Facebook Twitter A study and toolkit for asynchronous programming in c# Title A study and toolkit for asynchronous programming in c# Author Okur, Semih Hartveld, D.L. (TU Delft Education and Research Support) Dig, Danny van Deursen, A. (TU Delft Software Technology) Department Software Technology Date 2014 Abstract 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 providers 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 asynchronous code to use async/await; (ii) Corrector, a tool that finds and corrects common misuses of async/await. Our empirical evaluation shows that these tools are (i) applicable and (ii) efficient. Developers accepted 314 patches generated by our tools. To reference this document use: http://resolver.tudelft.nl/uuid:6c788d5c-e0e1-4318-9aa8-fd5c6226bbbd DOI https://doi.org/10.1145/2568225.2568309 Publisher Association for Computing Machinery (ACM) ISBN 978-1-4503-2756-5 Source ICSE 2014 Proceedings of the 36th International Conference on Software Engineering Part of collection Institutional Repository Document type conference paper Rights © 2014 Semih Okur, D.L. Hartveld, Danny Dig, A. van Deursen Files PDF TUD_SERG_2013_016.pdf 843.31 KB Close viewer /islandora/object/uuid:6c788d5c-e0e1-4318-9aa8-fd5c6226bbbd/datastream/OBJ/view