skip navigation

This page looks better in modern browsers. Please upgrade.

Brown Home Brown Home Brown Home Brown CS
Research Project:

Principles and Pragmatics of Interactive Software

Modern end-user applications are fundamentally interactive. Yet traditional programming language design and semantics have failed to capture the needs and subtleties of such systems.

This research focuses on the nature of Web software, which proves to be surprisingly subtle and leads to innumerable errors. On the programming front, we're interested in undoing the constraints that the Web's statelessness imposes on the programmer, either through better Web servers or via compilation techniques based on continuation-passing style (CPS). Unfortunately, while it is natural to employ CPS, the transformation has many disadvantages. We have therefore devised a better strategy, which can also be used to implement continuations atop uncooperative virtual machines (such as JVM) and intermediate languages (such as MSIL).

Moving past specific programming techniques, what is the essence of Web interactions? We have constructed a core calculus that enables us to reason about such computations. Furthermore, given that errors will exist independent of language (better languages simply lead to more interesting errors), we have built a model checker (which exploits our calculus) to take into account the myriad of problems introduced by end-user actions. We are also studying the safety and availability of data in these applications.

Project status: Active


Research Areas

 

Publications

Cooper, G. H., and Krishnamurthi, S. Embedding Dynamic Dataflow in a Call-by-Value Language. In Proceedings of the European Symposium on Programming (Mar 2006), pp. 294-308. [ home ]

Ignatoff, D., Cooper, G. H., and Krishnamurthi, S. Crossing State Lines: Adapting Object-Oriented Frameworks to Functional Reactive Languages. In Proceedings of the Functional and Logic Programming Symposium (2006), pp. 259-276. [ home ]

Krishnamurthi, S., Findler, R. B., Graunke, P., and Felleisen, M. Modeling Web Interactions and Errors. In Interactive Computation: The New Paradigm, D. Goldin, S. Smolka, and P. Wegner, Eds. Springer-Verlag, 2006. [ home ]

Marceau, G., Cooper, G. H., Spiro, J. P., Krishnamurthi, S., and Reiss, S. P. The Design and Implementation of a Dataflow Language for Scriptable Debugging. Automated Software Engineering Journal (2006). [ home ]

Pettyjohn, G., Clements, J., Marshall, J., Krishnamurthi, S., and Felleisen, M. Continuations from Generalized Stack Inspection. In Proceedings of the Special Interest Group on Programming Languages (SIGPLAN) International Conference on Functional Programming (Sep 2005), pp. 216-227. [ home ]

Licata, D. R., and Krishnamurthi, S. Verifying Interactive Web Programs. In Proceedings of the IEEE International Symposium on Automated Software Engineering (Sep 2004), pp. 164-173. [ home ]

Marceau, G., Cooper, G. H., Krishnamurthi, S., and Reiss, S. P. A dataflow language for scriptable debugging. In Proceedings of the IEEE International Symposium on Automated Software Engineering (Sep 2004), pp. 218-227. [ home ]

Matthews, J., Findler, R. B., Graunke, P. T., Krishnamurthi, S., and Felleisen, M. Automatically Restructuring Programs for the Web. Automated Software Engineering Journal 11, 4 (2004), 337-364. [ home ]

Graunke, P. T., Findler, R. B., Krishnamurthi, S., and Felleisen, M. Modeling Web Interactions. In Proceedings of the European Symposium on Programming (Apr 2003), pp. 238-252. [ home ]

Krishnamurthi, S. The Continue Server. In Proceedings of the Symposium on the Practical Aspects of Declarative Languages (Jan 2003), pp. 2-16. [ home ]

Graunke, P. T., and Krishnamurthi, S. Advanced Control Flows for Graphical User Interfaces. In Proceedings of the International Conference on Software Engineering (May 2002), pp. 277-287. [ home ]

Graunke, P. T., Findler, R. B., Krishnamurthi, S., and Felleisen, M. Automatically Restructuring Programs for the Web. In Proceedings of the IEEE International Symposium on Automated Software Engineering (Nov 2001), pp. 211-222. [ home ]

Graunke, P. T., Krishnamurthi, S., van der Hoeven, S., and Felleisen, M. Programming the Web with High-Level Programming Languages. In Proceedings of the European Symposium on Programming (Apr 2001), pp. 122-136. [ home ]


Page Owner: Webmaster Last Modified: Mon Oct 23 14:57:09 2006