Tue 6 Nov 2018 13:52 - 14:15 at Horizons 5 - Software Analysis I Chair(s): Sebastian Elbaum

Source code is bimodal: it combines a formal, algorithmic channel and a natural language channel of identifiers and comments. In this work, we model the bimodality of code with name flows, an assignment flow graph augmented to track identifier names. Conceptual types are logically distinct types that do not always coincide with program types. Passwords and URLs are example conceptual types that can share the program type string. Our tool, RefiNym, is an unsupervised method that mines a lattice of conceptual types from name flows and reifies them into distinct nominal types. For string, RefiNym finds and splits conceptual types originally merged into a single type, reducing the number of same-type variables per scope from 8.7 to 2.2 while eliminating 21.9% of scopes that have more than one same-type variable in scope. This makes the code more self-documenting and frees the type system to prevent a developer from inadvertently assigning data across conceptual types.

Tue 6 Nov
Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 15:00: Software Analysis IResearch Papers / Journal-First at Horizons 5
Chair(s): Sebastian ElbaumUniversity of Nebraska-Lincoln, USA
13:30 - 13:52
Ganesha UpadhyayaFuturewei Technologies, Hridesh RajanIowa State University
13:52 - 14:15
Research Papers
Santanu Kumar DashUniversity College London, UK, Miltiadis AllamanisMicrosoft Research, Cambridge, Earl T. Barr
14:15 - 14:37
Research Papers
Michail BasiosUniversity College London, Lingbo LiUniversity College London, UK, Fan WuUniversity College London, UK, Leslie KanthanUniversity College London, UK, Earl T. Barr
DOI Pre-print
14:37 - 15:00
Research Papers
Yue LiAarhus University, Denmark, Tian TanAarhus University, Denmark, Anders MøllerAarhus University, Yannis SmaragdakisUniversity of Athens