Carnegie Mellon University

Uri Dekel

Dr. Uri Dekel (CS 2009)

5000 Forbes Avenue
Pittsburgh, PA 15213


My name is Uri Dekel. I received M.Sc. and Ph.D. degrees in Software Engineering from the Institute for Software Research at Carnegie Mellon University's School of Computer Science. I previously received a B.Sc. and an M.Sc. in Computer Science from the Israeli Institute of Technology (the Technion) in Haifa, Israel, where my research applied formal concept analysis to the investigation of individual Java classes. My work experience includes several years at the Intel Development Center in Haifa, as well as a year doing research and development at IBM's Haifa Research Lab and an internship at IBM's Cambridge Research Lab.

My doctoral dissertation, advised by Jim Herbsleb, was focused on knowledge preservation in software engineering, and specifically on the notations and representations used in collaborative design, and on the usability of API documentation. One of my major findings was that developers fail to become aware of important clauses, which I termed "directives", in the documentation of the methods they invoke. They may miss these details among the detailed specifications, or fail to read the documentation at all. My studies demonstrated that this lack of awareness may lead to failure to detect or fix these errors. As part of this work I developed eMoose, an Eclipse based memory-aid for software developers. Code authors and API vendors can associate annotations or tag directives within the documentation, such as an indication that another call must take place or that there is a limitation to the returned value. With standard IDE support, clients that invoke these methods have no cues that prompt a careful investigation of these targets. With eMoose, these annotations are “pushed” to the context of invoking code by decorating the calls and augmenting the hover mechanism. The improved awareness may help developers avoid certain problems.


Uri Dekel and James D. Herbsleb, Improving API Documentation Usability with Knowledge Pushing, ACM/IEEE International Conference of Software Engineering (ICSE ’09), May 2009.

Uri Dekel and James D. Herbsleb, Reading the Documentation of Invoked API functions in Program Comprehension, IEEE International Conference on Program Comprehension (ICPC ’09), May 2009.

Uri Dekel and James D. Herbsleb, Improving API Documentation Usability with Knowledge Pushing, ACM International Conference on Software Engineering (ICSE '09), to appear.

Uri Dekel and James D. Herbsleb, Pushing Relevant Artifact Annotations in Collaborative Software Development, ACM Conference on Computer Supported Cooperative Work (CSCW ‘08).

Uri Dekel and James D. Herbsleb, ³Notation and Representation in Collaborative Object-Oriented Design², ACM International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA¹07), October 2007.

Uri Dekel, ³A Framework for Studying the Use of Wikis in Knowledge Work using Client-Side Access Data², ACM International Symposium on Wikis (WikiSym¹07), October 2007.

Uri Dekel and James D. Herbsleb, "Supporting Distributed Software Design
Meetings: What Can we Learn from Collocated Meetings?
", Workshop on Human and Social Factors in Software Engineering (HSSE) at ICSE'05.

Uri Dekel and Steven Ross, "Eclipse as a Platform for Research on Interruption Management in Software Development", Eclipse Technology Exchange workshop at OOPSLA '04.

Uri Dekel and Yossi Gil, Revealing Class Structure with Concept Lattices, Proceedings of the 10th Working Conference on Reverse Engineering, Victoria, BC, November 2003.

Uri Dekel, Tal Cohen and Sara Porat, Towards a Standard Family of Languages for Matching Patterns over Source Code, Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SWSTE 03), Herzlia, Israel, November 2003.