With the presence of online collaborative tools for software developers, source code is shared and consulted frequently, from code viewers to merge requests and code snippets. Typically, code highlighting quality in such scenarios is sacrificed in favor of system responsiveness. In these on-the-fly settings, performing a formal grammatical analysis of the source code is not only expensive, but also intractable for the many times the input is an invalid derivation of the language. Indeed, current popular highlighters heavily rely on a system of regular expressions, typically far from the specification of the language's lexer. Due to their complexity, regular expressions need to be periodically updated as more feedback is collected from the users and their design unwelcome the detection of more complex language formations. This paper delivers a deep learning-based approach suitable for on-the-fly grammatical code highlighting of correct and incorrect language derivations, such as code viewers and snippets. It focuses on alleviating the burden on the developers, who can reuse the language's parsing strategy to produce the desired highlighting specification. Moreover, this approach is compared to nowadays online syntax highlighting tools and formal methods in terms of accuracy and execution time, across different levels of grammatical coverage, for three mainstream programming languages. The results obtained show how the proposed approach can consistently achieve near-perfect accuracy in its predictions, thereby outperforming regular expression-based strategies.
Mon 14 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
16:00 - 17:30 | Program Analysis IResearch Papers / Industry Paper at SRC LT 50 Chair(s): Marcel Böhme MPI-SP, Germany and Monash University, Australia | ||
16:00 15mTalk | Input Splitting for Cloud-Based Static Application Security Testing Platforms Industry Paper Maria Christakis MPI-SWS, Thomas Cottenier Amazon Web Services, Antonio Filieri AWS and Imperial College London, Linghui Luo Amazon Web Services, Muhammad Numair Mansur MPI-SWS, Lee Pike Amazon Web Services, Nico Rosner Amazon Web Services, Martin Schäf Amazon Web Services, Aritra Sengupta Amazon Web Services, Willem Visser Amazon Web Services DOI Media Attached | ||
16:15 15mTalk | Static Executes-Before Analysis for Event Driven Programs Research Papers Rekha Pai IISc Bangalore, Abhishek Uppar IISc Bangalore, Akshatha Shenoy TCS Research, Pranshul Kushwaha IISc Bangalore, Deepak D'Souza IISc Bangalore DOI | ||
16:30 15mTalk | Security Code Smells in Apps: Are We Getting Better? Research Papers Steven Arzt Fraunhofer SIT; ATHENE DOI | ||
16:45 15mTalk | Large-Scale Analysis of Non-Termination Bugs in Real-World OSS Projects Research Papers Xiuhan Shi Tianjin University, Xiaofei Xie Singapore Management University, Yi Li Nanyang Technological University, Yao Zhang Tianjin University, Sen Chen Tianjin University, Xiaohong Li Tianjin University DOI | ||
17:00 15mTalk | On-the-Fly Syntax Highlighting using Neural Networks Research Papers Marco Edoardo Palma University of Zurich, Pasquale Salza University of Zurich, Harald Gall University of Zurich DOI Pre-print | ||
17:15 15mTalk | Declarative Smart Contracts Research Papers Haoxian Chen University of Pennsylvania, Gerald Whitters University of Pennsylvania, Mohammad Javad Amiri University of Pennsylvania, Yuepeng Wang Simon Fraser University, Boon Thau Loo University of Pennsylvania DOI |