Uri Dekel @ CMU


If you are searching for my eMoose project, please visit the project page on Google code at http://code.google.com/p/emoose-cmu/


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.

E-mail: udekel at cs.cmu.edu

Since May 2009 I am a software engineer at Thomson Reuters' Exchange Traded Instruments division, where I work on trading platforms and algorithms.