Browsing by Author "Sazawal, Vibha"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item Directing JavaScript with Arrows (Functional Pearl)(2008-08-02) Khoo, Yit Phang; Hicks, Michael; Foster, Jeffrey S.; Sazawal, VibhaJavaScript, being a single-threaded language, makes extensive use of event-driven programming to enable responsive web applications. However, standard approaches to sequencing events are messy, and often lead to code that is difficult to understand and maintain. We have found that arrows, a generalization of monads, are an elegant solution to this problem. Arrows allow us to easily write asynchronous programs in small, modular units of code, and flexibly compose them in many different ways, while nicely abstracting the details of asynchronous program composition. In particular, we show how to use arrows to construct a variety of state machines, such as autoscrollers and drag-and-drop handlers.Item Information-Hiding URLs for Easier Website Evolution(IEEE, 2006-09) Song, Charles; Sazawal, VibhaMany common elements of URLs do not adhere to the principle of information hiding. For example, filename extensions and parameter names can reveal volatile implementation details. As a result, when website implementations change, links between pages break. Bookmarks and code that generates URLs often break as well. In this paper, we present two tools for information-hiding URLs. An information-hiding URL uses an alias to identify a web resource and appends parameter values into the hierarchical structure of the URL. The InformationHidingFilter uses a Java Servlet filter to facilitate the use of informationhiding URLs with JSP/Servlet web applications. Given a request, the filter identifies the JSP or Servlet being requested and identifies parameter values contained in the information-hiding URL. Required values not provided in the URL are automatically substituted with default values specified by the web developer. Thus, old links remain valid even when the website changes and new parameters have been added to the page. The InformationHidingChecker helps web developers adhere to information hiding by helping them identify JSPs or Servlets that lack URL information for the InformationHidingFilter or lack default values for parameters. We also discuss the performance cost of using information-hiding URLs.Item Path Projection for User-Centered Static Analysis Tools(2008-08-01) Khoo, Yit Phang; Foster, Jeffrey S.; Hicks, Michael; Sazawal, VibhaThe research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. However, to date most of the work in this area has focused on developing novel static analysis algorithms, and neglected study of other aspects of static analysis tools, in particular user interfaces. In this work, we present a novel user interface toolkit called Path Projection that helps users visualize, navigate, and understand program paths, a common component of many static analysis tools’ error reports. We performed a controlled user study to measure the benefit of Path Projection in triaging error reports from Locksmith, a data race detection tool for C. We found that Path Projection improved participants’ time to complete this task, without affecting accuracy, and that participants felt Path Projection was useful.