Untitled Document
Not a member yet? Register for full benefits!

Username
Password
 An oracle for object-oriented programmers

This story is from the category Libraries and Components
Printer Friendly Version
Email to a Friend (currently Down)

 

 

Date posted: 10/10/2011

At the Association for Computing Machinery’s SPLASH conference at the end of the month, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) will present a new system that automatically 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. The system could be of particular use to programmers working with open-source software, whose licensing terms require that its underlying code be publicly disclosed. Someone wishing to simply add a function to a common open-source program, for instance, may not want to spend the week it takes to get up to speed on all the program’s objects.

“Part of the promise of open source is that if you don’t like what it does, you can go in and change it,” says Armando Solar-Lezama, the NBX Career Development Assistant Professor of Computer Science and Engineering, who led the work. “But if you have this huge learning curve, then you’re not going to be able to do that. You’re going to end up with a small group of experts who go and do all the stuff, and everyone else just uses it.”

The idea of the object is easiest to understand when the programmer’s object — a cluster of data and a set of associated functions — corresponds to a virtual object on-screen. A programmer wishing to add a new window to an application, for instance, simply writes a line of code calling up a new window object; the window comes complete with things like scroll bars and size-adjustment tabs and a display line for text. If the programmer wants to add a button to the window, she calls up a new button object.

But after that, things can get more complicated. To describe the layout for the window, the programmer may have to invoke an object called Layout; to enable the button to register mouse clicks, she may have to invoke an object called EventListener. These don’t appear on-screen as virtual objects, but in the programmer’s sense, they’re objects nonetheless.

“In some respects, this is a great design,” Solar-Lezama says. “It’s beautifully engineered to allow you to just take out little pieces of the functionality and replace them without having to go and write lots of code. But the price of that is that you have to know how it works before you can use it."

See the full Story via external site: www.physorg.com



Most recent stories in this category (Libraries and Components):

14/04/2013: The mathematical method for simulating the evolution of the solar system has been improved by UPV/EHU researchers

13/02/2013: 3D Printing on the Micrometer Scale

07/02/2013: Gap geometry grasped: A new algorithm could help understand the structure of liquids, and how they flow through porous media

03/12/2012: The advantages of 3D printing are now being put to the test in soil science laboratories

02/12/2012: Preventing 'Cyber Pearl Harbor'

24/11/2012: New structures self-assemble in synchronized dance

05/11/2012: Craig Venter Imagines a World with Printable Life Forms

05/10/2012: Disney develops 3D-printed lighting for toys