Learning and Programming Challenges of Rust: A Mixed-Methods Study
Wed 11 May 2022 13:10 - 13:15 at ICSE room 1-odd hours - Programming Languages 3 Chair(s): Emma Söderberg
Fri 27 May 2022 11:05 - 11:10 at Room 306+307 - Papers 21: Programming Languages and Refactoring Chair(s): Julian Dolby
Fri 27 May 2022 13:30 - 15:00 at Ballroom Gallery - Posters 3
Rust is a young systems programming language designed to provide both the safety guarantees of high-level languages and the execution performance of low-level languages. To achieve this design goal, Rust provides a suite of safety rules and checks against those rules at the compile time to eliminate many memory-safety and thread-safety issues. Due to its safety and performance, Rust’s popularity has increased significantly in recent years, and it has already been adopted to build many safety-critical software systems.
It is critical to understand the learning and programming challenges imposed by Rust’s safety rules. For this purpose, we first conducted an empirical study through close, manual inspection of 100 Rust-related Stack Overflow questions. We sought to understand (1) what safety rules are challenging to learn and program with, (2) under which contexts a safety rule becomes more difficult to apply, and (3) whether the Rust compiler is sufficiently helpful in debugging safety-rule violations. We then performed an online survey with 101 Rust programmers to validate the findings of the empirical study. We invited participants to evaluate program variants that differ from each other, either in terms of violated safety rules or the code constructs involved in the violation, and compared the participants’ performance on the variants. Our mixed-methods investigation revealed a range of consistent findings that can benefit Rust learners, practitioners, and language designers.
Mon 9 MayDisplayed time zone: Eastern Time (US & Canada) change
Wed 11 MayDisplayed time zone: Eastern Time (US & Canada) change
Fri 27 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Papers 21: Programming Languages and RefactoringTechnical Track / SEIP - Software Engineering in Practice / Journal-First Papers / NIER - New Ideas and Emerging Results at Room 306+307 Chair(s): Julian Dolby IBM Research, USA | ||
11:00 5mTalk | Grammars for Free: Toward Grammar Inference for Ad Hoc Parsers NIER - New Ideas and Emerging Results Pre-print Media Attached | ||
11:05 5mTalk | Learning and Programming Challenges of Rust: A Mixed-Methods Study Technical Track Shuofei Zhu The Pennsylvania State University, Ziyi Zhang University of Wisconsin–Madison, Boqin Qin China Telecom Cloud Computing Corporation, Aiping Xiong The Pennsylvania State University, Linhai Song Pennsylvania State University, USA DOI Pre-print Media Attached | ||
11:10 5mTalk | Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage CollectorNominated for Distinguished Paper Technical Track Michael Coblenz University of Maryland at College Park, Michelle Mazurek University of Maryland, Michael Hicks University of Maryland at College Park DOI Pre-print Media Attached | ||
11:15 5mTalk | How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow Journal-First Papers Anthony Peruma Rochester Institute of Technology, Steven Simmons Rochester Institute of Technology, Eman Abdullah AlOmar Stevens Institute of Technology, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec Link to publication DOI Pre-print Media Attached | ||
11:20 5mTalk | Industry’s Cry for Tools that Support Large-Scale Refactoring SEIP - Software Engineering in Practice James Ivers Carnegie Mellon University, USA, Robert Nord Software Engineering Institute, Ipek Ozkaya Carnegie Mellon Software Engineering Institute, Chris Seifried Carnegie Mellon University, USA, Christopher Steven Timperley Carnegie Mellon University, Marouane Kessentini Oakland University, USA Pre-print Media Attached | ||
11:25 5mTalk | DrAsync: Identifying and Visualizing Anti-Patterns in Asynchronous JavaScriptBest Artifact Award Technical Track Alexi Turcotte Northeastern University, Michael D. Shah Northeastern University, USA, Mark W. Aldrich Tufts University, Frank Tip Northeastern University Pre-print Media Attached | ||
11:30 5mTalk | Inferring And Applying Type Changes Technical Track Ameya Ketkar Oregon State University, USA, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Nikolaos Tsantalis Concordia University, Danny Dig University of Colorado Boulder, USA, Timofey Bryksin JetBrains Research; HSE University Pre-print Media Attached |
13:30 - 15:00 | |||
13:30 90mTalk | Investigating User Perceptions of Conversational Agents for Software-related Exploratory Web Search NIER - New Ideas and Emerging Results Matthew Frazier University of Delaware, Shaayal Kumar University of Delaware, Kostadin Damevski Virginia Commonwealth University, Lori Pollock University of Delaware DOI Pre-print Media Attached | ||
13:30 90mTalk | Bots for Pull Requests: The Good, the Bad, and the Promising Technical Track Mairieli Wessel Delft University of Technology, Ahmad Abdellatif Concordia University, Igor Wiese Federal University of Technology - Paraná (UTFPR), Tayana Conte Universidade Federal do Amazonas, Emad Shihab Concordia University, Marco Gerosa Northern Arizona University, USA, Igor Steinmacher Federal University of Technology - Paraná / Northern Arizona University Pre-print | ||
13:30 90mTalk | Post2Vec: Learning Distributed Representations of Stack Overflow Posts Journal-First Papers Bowen Xu Singapore Management University, Thong Hoang Singapore Management University, Singapore, Abhishek Sharma Veracode, Inc., Yang Chengran Singapore Management University, Xin Xia Huawei Software Engineering Application Technology Lab, David Lo Singapore Management University Link to publication DOI Pre-print | ||
13:30 90mTalk | Detecting Interpersonal Conflict in Issues and Code Review: Cross Pollinating Open- and Closed-Source Approaches SEIS - Software Engineering in Society Huilian Sophie Qiu Carnegie Mellon University, USA, Bogdan Vasilescu Carnegie Mellon University, USA, Christian Kästner Carnegie Mellon University, Carolyn Egelman Google, Ciera Jaspan , Emerson Murphy-Hill Google Pre-print Media Attached | ||
13:30 90mPoster | Poster: Comprehensive Comparisons of Embedding Approaches for Cryptographic API Completion Posters Ya Xiao Virginia Tech, Salman Ahmed Virginia Polytechnic Institute and State University, Xinyang Ge Microsoft Research, Bimal Viswanath Virginia Tech, Na Meng Virginia Tech, Daphne Yao Virginia Tech | ||
13:30 90mTalk | Semantic Image Fuzzing of AI Perception Systems Technical Track Trey Woodlief University of Virginia, Sebastian Elbaum University of Virginia, Kevin Sullivan University of Virginia DOI Pre-print Media Attached | ||
13:30 90m | To Disengage or Not to Disengage: A Look at Contributor Disengagement in Open Source Software SRC - ACM Student Research Competition Philip Gray New College of Florida | ||
13:30 90mTalk | Hashing It Out: A Survey of Programmers’ Cannabis Usage, Perception, and Motivation Technical Track Madeline Endres University of Michigan, Kevin Boehnke University of Michigan, Westley Weimer University of Michigan DOI Pre-print Media Attached | ||
13:30 90mTalk | Bus Factor In Practice SEIP - Software Engineering in Practice Elgun Jabrayilzade Bilkent University, Mikhail Evtikhiev JetBrains Research, Eray Tüzün Bilkent University, Vladimir Kovalenko JetBrains Research Pre-print Media Attached | ||
13:30 90mTalk | Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage CollectorNominated for Distinguished Paper Technical Track Michael Coblenz University of Maryland at College Park, Michelle Mazurek University of Maryland, Michael Hicks University of Maryland at College Park DOI Pre-print Media Attached | ||
13:30 90mTalk | Learning and Programming Challenges of Rust: A Mixed-Methods Study Technical Track Shuofei Zhu The Pennsylvania State University, Ziyi Zhang University of Wisconsin–Madison, Boqin Qin China Telecom Cloud Computing Corporation, Aiping Xiong The Pennsylvania State University, Linhai Song Pennsylvania State University, USA DOI Pre-print Media Attached | ||
13:30 90mTalk | Better Modeling the Programming World with Code Concept Graphs-augmented Multi-modal Learning NIER - New Ideas and Emerging Results Martin Weyssow DIRO, Université de Montréal, Houari Sahraoui Université de Montréal, Bang Liu DIRO & Mila, Université de Montréal Pre-print Media Attached | ||
13:30 90mTalk | Defect Reduction Planning (using TimeLIME) Journal-First Papers Authorizer link Pre-print Media Attached | ||
13:30 90mDemonstration | Gamekins: Gamifying Software Testing in Jenkins DEMO - Demonstrations DOI Pre-print Media Attached | ||
13:30 90mTalk | How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics in Stack Overflow Journal-First Papers Anthony Peruma Rochester Institute of Technology, Steven Simmons Rochester Institute of Technology, Eman Abdullah AlOmar Stevens Institute of Technology, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec Link to publication DOI Pre-print Media Attached | ||
13:30 90mTalk | Lessons Learnt on Reproducibility in Machine Learning Based Android Malware Detection Journal-First Papers Nadia Daoudi SnT, University of Luxembourg, Kevin Allix University of Luxembourg, Tegawendé F. Bissyandé SnT, University of Luxembourg, Jacques Klein University of Luxembourg Link to publication Pre-print Media Attached | ||
13:30 90m | Mu2: Using Mutation Analysis to Guide Mutation-Based Fuzzing SRC - ACM Student Research Competition Isabella Laybourn Carnegie Mellon Silicon Valley | ||
13:30 90mTalk | Emotions and Perceived Productivity of Software Developers at the Workplace Journal-First Papers Daniela Girardi University of Bari, Filippo Lanubile University of Bari, Nicole Novielli University of Bari, Alexander Serebrenik Eindhoven University of Technology Link to publication DOI Pre-print Media Attached | ||
13:30 90mPoster | CRustS: A Transpiler from Unsafe C to Safer Rust Posters Michael Ling Huawei Technologies Canada, Yijun Yu The Open University, UK, Haitao Wu Huawei Technologies Canada, Yuan Wang Huawei Sweden Research Center, James R. Cordy Queen's University, Ahmed E. Hassan Queen's University | ||
13:30 90mTalk | Multilingual training for Software Engineering Technical Track Toufique Ahmed University of California at Davis, Prem Devanbu Department of Computer Science, University of California, Davis DOI Pre-print Media Attached | ||
13:30 90mTalk | An Empirical Investigation on the Challenges Faced by Women in the Software Industry: A Case StudySEIS-track Award SEIS - Software Engineering in Society Bianca Trinkenreich Northern of Arizona Univeristy, Ricardo Britto Ericsson / Blekinge Institute of Technology, Marco Gerosa Northern Arizona University, USA, Igor Steinmacher Federal University of Technology - Paraná / Northern Arizona University Pre-print Media Attached | ||
13:30 90mTalk | Using Deep Learning to Generate Complete Log Statements Technical Track Antonio Mastropaolo Università della Svizzera italiana, Luca Pascarella Università della Svizzera italiana (USI), Gabriele Bavota Software Institute, USI Università della Svizzera italiana Pre-print Media Attached | ||
13:30 90mTalk | Collaboration Challenges in Building ML-Enabled Systems: Communication, Documentation, Engineering, and ProcessDistinguished Paper Award Technical Track Nadia Nahar Carnegie Mellon University, Shurui Zhou University of Toronto, Grace Lewis Carnegie Mellon Software Engineering Institute, Christian Kästner Carnegie Mellon University Pre-print Media Attached | ||
13:30 90mTalk | Discovering Repetitive Code Changes in Python ML Systems Technical Track Malinda Dilhara University of Colorado Boulder, USA, Ameya Ketkar Oregon State University, USA, Nikhith Sannidhi University of Colorado Boulder, Danny Dig University of Colorado Boulder, USA DOI Pre-print Media Attached | ||
13:30 90mTalk | Towards Mining OSS Skills from GitHub Activity NIER - New Ideas and Emerging Results Jenny T. Liang University of Washington, Thomas Zimmermann Microsoft Research, Denae Ford Microsoft Research DOI Pre-print Media Attached | ||
13:30 90mTalk | EREBA: Black-box Energy Testing of Adaptive Neural Networks Technical Track Mirazul Haque UT Dallas, Yaswanth Yadlapalli University of Texas at Dallas, Wei Yang University of Texas at Dallas, Cong Liu University of Texas at Dallas, USA Pre-print Media Attached | ||
13:30 90mTalk | "Project smells" — Experiences in Analysing the Software Quality of ML Projects with mllint SEIP - Software Engineering in Practice Bart van Oort Delft University of Technology, Luís Cruz Deflt University of Technology, Babak Loni ING Bank N.V., Arie van Deursen Delft University of Technology, Netherlands Pre-print Media Attached | ||
13:30 90mPoster | Improving Responsiveness of Android Activity Navigation via Genetic Improvement Posters |