- When: Thursday, October 27, 2016 from 01:30 PM to 02:30 PM
- Speakers: Alex Gyori, University of Illinois, Urbana-Champaign
- Location: Nguyen Engineering, Room 4801
- Export to iCal
ABSTRACT
Software is rarely written from scratch, but rather it is built by composing several libraries in a crafty way. One problem developers face is ensuring they use library APIs in a forward compatible way, i.e., API clients rely only on what the specification of the API offers and not on some implementation details, such that the clients will always be able to upgrade to the latest version of the library. One way of breaking forward compatibility is by assuming a specific implementation of an API with an underdetermined specification. Such assumptions can cause code to fail when the API implementation changes albeit the API implementation still satisfies its specification.
This talk will present NonDex, a technique to detect wrong assumptions on APIs, i.e., assumptions not guaranteed by the APIs' specification. Our NonDex technique checks forward compatibility and helps developers of client code test that their usage of APIs does not make wrong assumptions on API behaviors; NonDex randomly explores possible behaviors of APIs when client tests are run in order to find wrong assumptions on implementation-specific behaviors that are not guaranteed by the spec. I will discuss our efforts to apply NonDex to open source projects and increase developer adoption. Further, I will discuss future plans on the topic of forward compatibility.
The research presented is joint work with Sarfraz Khurshid, Ben Lambeth, Owolabi Legunsen, August Shi, and my adviser Darko Marinov.
BIO
Alex Gyori is a final year PhD student in Computer Science at the University of Illinois at Urbana-Champaign. His research interests are at the intersection of Software Engineering, Formal Methods, and Programming Languages; his main goal is to design automated techniques that improve software reliability and programmer productivity. His research so far has explored Regression Testing, Differential Program Verification, Static Analysis, Runtime Verification for Heap Properties, and Program Transformations. He was awarded the Saburo Muroga Fellowship (2014) and the General Electric Foundation Scholar
Leaders Award (2011). He interned at Microsoft Research (2015), Google
(2014), ITI (2012), and Continental AG (2011, 2010). Alex has a BSc
(2013) in Computer Science from The Polytechnic University of
Timisoara, Romania. Webpage: http://mir.cs.illinois.edu/gyori