![]() |
Vibha Sazawal Clare Boothe Luce Assistant Professor HCIL, Department of Computer Science and UMIACS 4113 A.V. Williams University of Maryland, College Park Research area: HCI and software design
|
| Who am I? | Research | Teaching | Diversity | Personal Info |
I am a computer scientist. As CMU professor Peter Lee described, computer science is a field full of grand challenges, primarily focused upon expanding intelligence and expression. To learn more about ``the mystery of our intelligence,'' check out The Computational Universe. To learn more about expanding our ability to express ourselves, check out Media Computation.
And how exactly do I fit into all of this? I expand intelligence and expression through better software design and tools. Software design is the blueprint, the magic structures that we use to create and re-create the systems that do our bidding. And since people are hard at work today designing and evolving these magic structures, I study ways to help them with that work. I am also interested in helping other information workers with their work using software tools.
I share a research lab with Francois Guimbretiere in 3452 A.V. Williams. I am a member of the Human-Computer Interaction Laboratory (HCIL), which is part of UMIACS.
Expert recommendation
When a programmer faces unfamiliar code, who should they contact for help? I am interested in integrating work in social networks and mining software repositories to answer this question.Information-hiding URLs
Many 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. An information-hiding URL uses an alias to identify a web resource and appends parameter values into the hierarchical structure of the URL. If a programmer follows certain conventions, such as providing default values for parameters, a link defined using an information-hiding URL will not break even if certain details about the page have changed.Design Snippets:Papers:
- Information-hiding URLs for Easier Website Evolution by Song, Charles and Sazawal, Vibha. In Proceedings of the Eighth IEEE Symposium on Web Site Evolution (WSE) 2006.
My last project. Design snippets are partial design representations that are extracted from source code. These design representations are intended to help software engineers make design decisions during software evolution and maintenance tasks. Design snippets are co-displayed in the context of units of code (e.g., files); by eliding design details unrelated to the unit of interest, design snippets can be effectively used by software engineers as they view and edit units of code.Design snippets are intended to support specific software design principles. My prototype, the Design Snippets Tool, focuses on design principles related to one important software property: ease of change.
Papers:
- Connecting Software Design Principles to Source Code for Improved Ease of Change by Sazawal. PhD Dissertation, December 2005. This is the most accurate source of information on design snippets.
ArchJava, a project led by Jonathan Aldrich, also connects code to software design decisions. ArchJava is an extension of Java that offers additional expressive power for describing and checking architectural constraints. From an ease-of-change perspective, ArchJava provides connectors, an exciting new way to think about and describe interfaces between modules.Papers:
- Language Support for Connector Abstractions, by Aldrich, Sazawal, Chambers, and Notkin. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP '03), July 2003.
- Architecture-Centric Programming for Adaptive Systems, by Aldrich, Sazawal, Chambers, and Notkin. In Proceedings of the Workshop on Self-Healing Systems, 2003.
- Architecture-Centric Programming for Context-Aware Configuration, by Sazawal and Aldrich. In Proceedings of the Workshop on Engineering Context-Aware Object-Oriented Systems and Environments, 2003.
I am also strongly interested in computer science education and K-12 math and science education. One of my particular concerns is the lack of women in computer science. In 2004, I created and taught the course ENGR199B, "Women, Computing, and Collaborating." I have also worked in K-12 schools to spark interest in mathematics and computer science, especially among underrepresented groups.
Links:
I was born and raised in Pennsylvania. I don't have much free time, but I like to spend it hassling my husband Vijay Ravindran, my family, and my friends. My husband and I like to travel when we can.
If you want to know what I'm really thinking, the place to visit is my blog, Parole Femmine.