MIT introduces Oracle for Object-Oriented Programmers
In a recent news article the Massachusetts Institute of Technology has introduced a technology for automatically remembering connections between objects. The provided system determines
how objects in a large software project interact, so it can inform latecomers which objects they will need to design certain types of functions.
According to Larry Hardesty from the MIT News Office, the major innovation in software engineering in the last four decades has been the development of object-oriented programming languages where objects might be considered as
repositories for the computational details of a program, which let the programmer concentrate on the big picture.
Developers often face the challenge that with increasing system size the number of objects as well as their interactions might be overwhelming. In order to understand the whole system, they need to spend a lot of time. This is where the idea of the new approach by MIT’s Computer Science and Artificial Intelligence Laboratory comes in. The system called MatchMaker learns in an automatic way about the interaction of objects within the system under development.
This is particularly helpful when functionality needs to be added to open source software as Solar-Lezama and his students Zhilei Ku and Kuat Yessenov have demonstrated using the Eclipse Framework.
In Matchmaker developers may specify the names of objects into a query field. In return, MatchMaker lists all objects that link the specified objects as well as all modifications required to any existing methods.
However, the system might also produce wrong inferences but as Solar-Sezama claims, even if this happens, the developer would at least obtain some guidance. They tried to prove this claim empirically with a user study of eight developers new to Eclipse. The developers were split up into two groups with four persons in each group. While the first group had to solve a problem without leveraging MatchMaker, the second group did use it, but retrieved incomplete information from MatchMaker. Nonetheless, all developers in the second group outperformed those in the first group. However, it needs to be mentioned in this context that a study with eight persons is not representative.
Future will show whether MatchMaker really can live up to its expectations. If you are interested in more details you might want to read the accepted paper which the researchers have submitted to this year’s SPLASH respectively OOPSLA conference.