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 Nov Times are displayed in time zone: (UTC) Coordinated Universal Time change
08:00 - 08:02 Talk | Flexeme: Untangling Commits Using Lexical Flows Research Papers Profir-Petru PârțachiUniversity College London, UK, Santanu Kumar DashUniversity of Surrey, UK, Miltiadis AllamanisMicrosoft Research, UK, Earl T. BarrUniversity College London, UK DOI Pre-print Media Attached File Attached | ||
08:03 - 08:04 Talk | FREPA: An Automated and Formal Approach to Requirement Modeling and Analysis in Aircraft Control Domain Industry Papers Jincao FengEast China Normal University, Weikai MiaoEast China Normal University, China, Hanyue ZhengEast China Normal University, Yihao HuangEast China Normal University, Jianwen LiEast China Normal University, China, Zheng WangBeijing Sunwise Information Technology, China, Ting SuEast China Normal University, China, Bin GuBeijing Institute of Control Engineering, China, Geguang PuShanghai Trusted Industrial Control Platform, China, Mengfei YangChina Academy of Space Technology, China, Jifeng HeShanghai Key Lab of Trustworthy Computing, China DOI | ||
08:05 - 08:06 Talk | Mining Assumptions for Software Components using Machine Learning Research Papers Khouloud GaaloulUniversity of Luxembourg, Luxembourg, Claudio MenghiUniversity of Luxembourg, Luxembourg, Shiva NejatiUniversity of Ottawa, Canada / University of Luxembourg, Luxembourg, Lionel BriandUniversity of Ottawa, Canada / University of Luxembourg, Luxembourg, David WolfeQRA, Canada DOI | ||
08:07 - 08:08 Talk | Mining Input Grammars from Dynamic Control Flow Research Papers DOI | ||
08:09 - 08:10 Talk | TypeWriter: Neural Type Prediction with Search-Based Validation Research Papers Michael PradelUniversity of Stuttgart, Germany, Georgios GousiosFacebook & Delft University of Technology, Jason LiuFacebook, USA, Satish ChandraFacebook, USA DOI Pre-print Media Attached | ||
08:11 - 08:30 Talk | Conversations on Analysis 3 Paper Presentations Khouloud GaaloulUniversity of Luxembourg, Luxembourg, Michael PradelUniversity of Stuttgart, Germany, Profir-Petru PârțachiUniversity College London, UK, Rahul GopinathCISPA, Germany, M: Dan HaoPeking University, China |