MSR 2020
Mon 29 - Tue 30 June 2020
co-located with ICSE 2020
Tue 30 Jun 2020 14:12 - 14:24 at MSR:Zoom - ML4SE Chair(s): Kevin Moran

Automatic source code analysis in key areas of software engineering, such as code security, can benefit from Machine Learning (ML). However, many standard ML approaches require a numeric representation of data and cannot be applied directly to source code. Thus, to enable ML, we need to embed source code into numeric feature vectors while maintaining the semantics of the code as much as possible. code2vec is a recently released embedding approach that uses the proxy task of method name prediction to map Java methods to feature vectors. However, experimentation with code2vec shows that it learns to rely on variable names for prediction, causing it to be easily fooled by typos or adversarial attacks. Moreover, it is only able to embed individual Java methods and cannot embed an entire collection of methods such as those present in a typical Java class, making it difficult to perform predictions at the class level (e.g., for the identification of malicious Java classes). Both shortcomings are addressed in the research presented in this paper. We investigate the effect of obfuscating variable names during training of a code2vec model to force it to rely on the structure of the code rather than specific names and consider a simple approach to creating class-level embeddings by aggregating sets of method embeddings. Our results, obtained on a challenging new collection of source-code classification problems, indicate that obfuscating variable names produces an embedding model that is both impervious to variable naming and more accurately reflects code semantics. The datasets, models, and code are shared for further ML research on source code.

Tue 30 Jun

Displayed time zone: (UTC) Coordinated Universal Time change

14:00 - 15:00
ML4SETechnical Papers / Registered Reports / Keynote / MSR Awards / FOSS Award / Education / Data Showcase / Mining Challenge / MSR Challenge Proposals / Ask Me Anything at MSR:Zoom
Chair(s): Kevin Moran William & Mary/George Mason University

Q/A & Discussion of Session Papers over Zoom (Joining info available on Slack)

14:00
12m
Live Q&A
A Machine Learning Approach for Vulnerability CurationACM SIGSOFT Distinguished Paper AwardMSR - Technical Paper
Technical Papers
Chen Yang Veracode, Inc., Andrew Santosa Veracode, Inc., Ang Ming Yi , Abhishek Sharma Singapore Management University, Singapore, Asankhaya Sharma Veracode, Inc., David Lo Singapore Management University
Pre-print Media Attached
14:12
12m
Live Q&A
Embedding Java Classes with code2vec: Improvements from Variable ObfuscationMSR - Technical Paper
Technical Papers
Rhys Compton University of Waikato, Eibe Frank Department of Computer Science, University of Waikato, Panos Patros , Abigail Koay University of Waikato
DOI Pre-print Media Attached
14:24
12m
Live Q&A
A Study on the Accuracy of OCR Engines for Source Code Transcription from Programming ScreencastsMSR - Technical Paper
Technical Papers
Abdulkarim Malkadi Florida State University, USA - Jazan University, KSA, Mohammad Alahmadi Florida State University, Sonia Haiduc Florida State University
Pre-print Media Attached
14:36
12m
Live Q&A
What is the Vocabulary of Flaky Tests?MSR - Technical Paper
Technical Papers
Gustavo Pinto UFPA, Breno Miranda Federal University of Pernambuco, Supun Dissanayake The University of Adelaide, Marcelo d'Amorim Federal University of Pernambuco, Christoph Treude The University of Adelaide, Antonia Bertolino CNR-ISTI
Pre-print Media Attached
14:48
12m
Live Q&A
Improved Automatic Summarization of Subroutines via Attention to File ContextMSR - Technical Paper
Technical Papers
Sakib Haque University of Notre Dame, Alexander LeClair University Of Notre Dame, Lingfei Wu IBM Research, Collin McMillan University of Notre Dame
Pre-print Media Attached