Yishai Feldman joined IBM's Research lab in Haifa, Israel, in 2006, after many years in academia, at Tel Aviv University and the Interdisciplinary Center in Herzlia, where he had the rare opportunity of building the programming languages and software engineering part of the curriculum from scratch. For many years, he also consulted for a data security company, where he was responsible for writing proposals, specifications, and high-performance cryptographic code. He holds a BSc in Mathematics from Tel Aviv University and a PhD in Computer Science from the Weizmann Institute of Science.
Yishai's passion is intelligent tools for various domains, mostly focusing on software engineering, where he is his own domain expert and may get to use his own tools. He spent four years with the Programmer's Apprentice project at MIT's Artificial Intelligence Lab, which had the ambitious goal of creating an intelligent assistant for software development.
He continued following that goal for many years, developing with students and colleagues the Cake knowledge-representation and reasoning system, tools for applications such as design by contract in Java, legacy program transformation, interprocedural clone detection, refactoring for COBOL, and automatic fixing of security vulnerabilities in web applications. With one student, he also applied his skills to the creation of a system that takes a movie or animation script and chooses camera positions and shot types (close-up, medium shot, long shot, etc.) based on cinematic principles.
More recently, he developed tools in the systems domain for engineering life cycle consistency analysis and requirement formalization. The latter has led him to a fascinating investigation of the use of natural-language understanding and computational semantics techniques to extract formal content from text.
Yishai has published dozens of papers, chaired various conferences and seminars, authored a dozen patents, and is the co-author of the 3rd edition of the popular Algorithmics book.
Yishai is a voracious reader and always has something to say about it, which is why he enjoys writing for Computing Reviews.