One of the key properties of a program is its input specification. Having a formal input specification can be critical in fields such as vulnerability analysis, reverse engineering, software testing, clone detection, or refactoring. Unfortunately, accurate input specifications for typical programs are often unavailable or out of date.
In this paper, we present a general algorithm that takes a program and a small set of sample inputs and automatically infers a readable context-free grammar capturing the input language of the program. We infer the syntactic input structure only by observing access of input characters at different locations of the input parser. This works on all stack based recursive descent input parsers, including parser combinators, and works entirely without program specific heuristics. Our Mimid prototype produced accurate and readable grammars for a variety of evaluation subjects, including complex languages such as JSON, TinyC, and JavaScript.
Thu 12 NovDisplayed time zone: (UTC) Coordinated Universal Time change
08:00 - 08:30 | |||
08:00 2mTalk | Flexeme: Untangling Commits Using Lexical Flows Research Papers Profir-Petru Pârțachi University College London, UK, Santanu Dash University of Surrey, UK, Miltiadis Allamanis Microsoft Research, UK, Earl T. Barr University College London, UK DOI Pre-print Media Attached File Attached | ||
08:03 1mTalk | FREPA: An Automated and Formal Approach to Requirement Modeling and Analysis in Aircraft Control Domain Industry Papers Jincao Feng East China Normal University, Weikai Miao East China Normal University, China, Hanyue Zheng East China Normal University, Yihao Huang East China Normal University, Jianwen Li East China Normal University, China, Zheng Wang Beijing Sunwise Information Technology, China, Ting Su East China Normal University, China, Bin Gu Beijing Institute of Control Engineering, China, Geguang Pu Shanghai Trusted Industrial Control Platform, China, Mengfei Yang China Academy of Space Technology, China, Jifeng He Shanghai Key Lab of Trustworthy Computing, China DOI | ||
08:05 1mTalk | Mining Assumptions for Software Components using Machine Learning Research Papers Khouloud Gaaloul University of Luxembourg, Luxembourg, Claudio Menghi University of Luxembourg, Luxembourg, Shiva Nejati University of Ottawa, Canada / University of Luxembourg, Luxembourg, Lionel Briand University of Ottawa, Canada / University of Luxembourg, Luxembourg, David Wolfe QRA, Canada DOI | ||
08:07 1mTalk | Mining Input Grammars from Dynamic Control Flow Research Papers DOI | ||
08:09 1mTalk | TypeWriter: Neural Type Prediction with Search-Based Validation Research Papers Michael Pradel University of Stuttgart, Germany, Georgios Gousios Facebook & Delft University of Technology, Jason Liu Facebook, USA, Satish Chandra Facebook, USA DOI Pre-print Media Attached | ||
08:11 19mTalk | Conversations on Analysis 3 Paper Presentations Khouloud Gaaloul University of Luxembourg, Luxembourg, Michael Pradel University of Stuttgart, Germany, Profir-Petru Pârțachi University College London, UK, Rahul Gopinath CISPA, Germany, M: Dan Hao Peking University, China |