Dynamic slicing is a well-known program debugging technique. Given a program P and input I, it finds all program statements which directly/indirectly affect the values of some var...
Many large software systems originate from untyped scripting language code. While good for initial development, the lack of static type annotations can impact code-quality and per...
Shape analyses (Chase et al. 1990, Sagiv et al. 2002) discover properties of dynamic and/or mutable structures. We ask, "Is there an equivalent to shape analysis for purely fu...
Mashups are an increasingly popular way to integrate data from multiple web sites to fit a particular need, but it often requires substantial technical expertise to create them. T...
James Lin, Jeffrey Wong, Jeffrey Nichols, Allen Cy...
We all encounter many documents on a daily basis that we do not have time to process in their entirety. Nevertheless, we lack good tools to rapidly skim and identify key informati...