Skip navigation
Click Here
Alerts  Newsletters  RSS  Help  
MSN HomeHotmailSign In
MSNBC News
Newsweek
Subscribe Now
Periscope
National News
Politics
World News
International Ed.
War in Iraq
Business
Enterprise
Tech & Science
Healthbeat
Society
Education
Entertainment
Tip Sheet
Columnists
Letters & Live Talks
Multimedia/Photos
Search the Site
Search Archives
U.S. News
World News
Business
Sports
Entertainment
Tech / Science
Health
Weather
Travel
Blogs Etc.
Local News
Newsweek
Multimedia
News Video
Most Popular
NBC NEWS
MSNBC TV
Today Show
Nightly News
Meet the Press
Dateline NBC
Newsweek Home » International Editions
Newsweek International EditionNewsweek 

Computer Software That Writes Itself

  FROM THIS WEEK'S ISSUE
Live Vote
Is the Swedish socio-economic model in trouble?
Yes
No
I don't know

Vote to see results
BLOG TALK
Read what bloggers are saying about this Newsweek article

Search the Site


By Sandra Upson
Newsweek International

Dec. 26, 2005 - Jan 2, 2006 issue - Software is a messy business. Last March the U.S. Federal Bureau of Investigation publicly abandoned a $170 million software overhaul because of unforeseen technical problems. Even when big projects go well, they often take so long to complete that the software is out of date by the time it's rolled out. Corporations often don't bother to upgrade obsolete software for fear that they're opening a can of worms. As software gets more elaborate and complex, the problem only gets worse.

Story continues below ↓
advertisement

The situation has triggered interest in using computer programs to generate other programs automatically. The benefits of automatic software are compelling. Companies would need fewer programmers and could ratchet up productivity. Humans writing computer code are also prone to errors. "If a programmer can sit down, specify what you want and push a button, you end up much more productive," says Doug Smith, a researcher at the Kestrel Institute, a nonprofit RD center in Palo Alto, California. "It's the next stage in the evolution of computer programming."

Smith and his colleagues at Kestrel have developed a program that translates a description of a problem into guidelines a computer can understand. They've used this tool to develop software for scheduling cargo deployment for the U.S. military. The program runs faster than comparable ones developed manually and speeds up the programming process. A software designer can also return later with additional requirements and quickly crank out a new version. Some testing is still needed, however, to prove the program's reliability.

One automatic programming tool has already made it into the financial marketplace. SciComp, based in Austin, Texas, has developed a product that helps investment banks design programs to price financial derivatives. It takes complex mathematical models and translates them into something a computer can solve, allowing banks to flexibly change pricing models as they introduce new products and guidelines.

The bigger challenge is to enable laypeople to write complex software without putting rigid restrictions on the kind of software that can be produced. Utah-based Tenfold has gotten around this problem in part by concentrating on corporate software, which usually performs relatively simple tasks. Tenfold's automatic programming product generalizes the software requirements of vastly different corporations, ranging from insurance companies calculating policies to banks managing customer accounts, and provides for some tailoring for specific companies. The tool can generate corporate software in three weeks, compared with more than a year when done by hand. Gordon Novak, a computer scientist at the University of Texas at Austin, is working on a program in which problems can be depicted as geometric shapes connected with arrows.

Researchers at NASA hope to be able to generate programs on the fly during emergencies. If a space shuttle has to abort a launch, an automatically generated program could figure out whether it can make it into orbit or find a landing site. By using software to handle such a situation, "you eliminate an error-prone activity that humans are engaged in," says Dan Cooke, chairman of Texas Tech University's computer-science department, who's developing the software for NASA.

Still, automated code doesn't yet compare in quality to what's generated by hand, and scientists still have a lot to learn about how to translate human need into machine code. Programmers can rest easy knowing that their jobs are safe—at least for now.

© 2006 Newsweek, Inc.
   Rate this story    Low  Rate it 0.5Rate it 1Rate it 1.5Rate it 2Rate it 2.5Rate it 3Rate it 3.5Rate it 4Rate it 4.5Rate it 5 High
   Current rating: 3.5 by 33 users     • View Top Rated stories

 



advertisement


advertisement