Code thats not secret
What were trying to do is ask, Can we rebuild software to get systems much more reliable than what we have today?" That was the proposition offered to eWEEK Labs by Microsoft Senior Researcher James Larus, founder of the companys Software Productivity Tools group. At least since the emergence of Java, one of the recognized paths toward that greater reliability has been greater use of powerful run-time environments that detect and prevent many types of software error. Microsofts .Net Framework, after much initial skepticism from many developers, has lately gained ground and will be the foundation of applications on the Vista family of Windows platforms."You get really interesting consequences," Larus continued. "You cant point into another process, and you cant pass pointers into another process space." These "software-isolated processes are much less expensive to create and switch between than hardware processes," he said. Larus contrasted this with the brittle mechanisms used today. "The way you do extensions in C++ is to load modules that come in as extensions of your address space," he said. "If it fails, you dont know the state of your data structure, and the best you can do is kill the process and hope that your data isnt corrupted." Under the managed regimen established by the Singularity technology that Larus team is developing, "when you kill a process, other processes have to recover, but they can know their own state at the point of the failure," Larus said. Also key to building better software is the enablement of better team interaction, an area of research effort at both IBM and Inteland an ongoing process of social change at MIT. "Its a matter of looking at converged communication technologies," said John Vicente, director of IT research at Santa Clara-based Intel. Intel Principal Engineer Cindy Pickering described the cultural and social dimensions of the problem. "We find that sometimes people who dont speak English as a first language are more comfortable expressing themselves in text, and that some cultures are less outspoken and that others therefore dominate discussions," Pickering said. She therefore expects to find considerable benefits for improved team interaction from integrating multiple communication modes into a single collaborative environment. Features of the experimental environment, Pickering continued, include both real-time and historical tools for understanding the progress of a project. "You can put an electronic representation of a team member in different parts of a team space, or leave little bread crumb trails in a document or a source code file where someone might have made annotations or changes. People who are attending asynchronously can get a better idea of whos been making what changes," she said. IBM is exploring similar avenues for improved team function. "Weve started to put native collaborative capabilities into Eclipse," said Daniel Yellin, director of programming models and tools strategy at IBM Research. "For a project, I can view team members; I can see whos online and do instant messaging. I can tie that in to the whole software design process. When I say, Joe, I dont understand this piece of code, it brings the snippet into his browser and logs our chat in to the design notes. I can store the results of that communication in a persistent form." In eWEEK Labs Opinion, the open-source vigor of the Eclipse community is likely to propel these ideas into practice sooner rather than later. Its in IBMs heritage, though, to ensure that such things can work at the enterprise scale. "There are some deep things in terms of scalability," said Yellin. "For instance, how do you integrate this better into a software configuration management system? Whats the right way to do this with teams of tens or hundreds of people? If a requirement changes, how do I know who needs to be informed of that change? ... That needs to be triggered, automated as much as possible." Enterprise site technology adopters should bear such questions in mind whenever theyre hearing a sales pitch for team-oriented collaboration tools, as these core ideas enter the marketplace in products such as Suns Java Studio Enterprise and this months update of Borland Software Corp.s JBuilder. In the meantime, sites such as the MIT campus are demonstrating the human side of collaboration technology, as public computing rooms that used to hold rows of workstations are now being refurnished to accommodate users carrying personal wireless-enabled laptop computers. "We made a commitment to become a wireless campus by the end of 2005, and were ahead of schedule," said Jerrold Grochow, vice president for information services and technology at MIT, in Cambridge, Mass. "Starting last spring, you could see the difference. More of the students sitting outside with laptops, people opening their machine and assuming theres going to be a connection." The leapfrog to wireless has sidestepped difficulties in wiring older buildings with bulky and inflexible high-speed cable, Grochow said, and is making it possible to develop custom applicationsincluding some for advanced handheld devices such as PalmOne Inc.s Treo. Though hardly leading edge by the standards of what people expect to see at MIT, this is still ahead of the curve of new-device adoption in most enterprise settings. Enterprise users should look at available hardware and productivity- enhancing connectivity frameworks such as Microsofts forthcoming Windows Communication Foundation, formerly code-named Indigo, to form a vision of what theyd like to be deploying a year or two from now. Making complexity understandable is key to avoiding dangerous loopholes To make it possible for researchers to innovate without wasting time on the reinvention of security requires a strong cyber-security infrastructure, said MITs Dreher. Grochow agreed. Whats needed, he said, is a single-sign-on setup that provides robust security, rather than separate and often rudimentary systems in individual applications. An SOA (service-oriented architecture), Grochow added, facilitates this by making security services readily available throughout an application portfolioa necessity as research collaborations increasingly involve international teams and as the value of the research work in progress continues to grow. Enterprise managers should heed Grochows example by developing new systems with an SOA-based future in mind rather than building monolithic systems that are redundant in function today and will also hinder their own improvement in the future. Lack of forward thinking is at the heart of the security problem, many researchers agree. "Systems today are in a mess because people didnt think about security from the beginning," said IBMs Charles Palmer. "Design for security, design for management" has to be the double mantra, according to Palmer. Teaching people to think clearly about security and its interactions is probably more difficult, though, than teaching machines to explain those interactions in plain language or with clear visual metaphors. IBM is trying to work the problem from the latter direction with a research project called SPARCLE, an admittedly tortured abbreviation for Server Privacy Architecture and Capability Enablement. "Weve talked with people to find out whats missingeven in English, security rules are hard to follow," said Palmer, a noted researcher in genetic algorithms who manages the security, networking and privacy departments at IBMs Thomas J. Watson Research Center. "SPARCLE eats the English, produces what it understands to be the nouns and the actions and the objects of the actions, whos doing what for how long and with what purpose," said Palmer. "[SPARCLE] gives you back little tableslike a bunch of multiple-choice dialog boxesthat its gotten from the English, and it pulls out the actors and conditions and purposes." Palmer said he hopes enterprises will see the benefit of SPARCLE sooner. "We have a research prototype, we have real impact in mind," he said. "I would not be surprised if you see this in the next year." Technology Editor Peter Coffee can be reached at firstname.lastname@example.org. Check out eWEEK.coms for the latest news, reviews and analysis about productivity and business solutions. Check out eWEEK.coms for the latest news, views and analysis on servers, switches and networking protocols for the enterprise and small businesses.
But thats not the end of the journey. "Weve built an operating system written entirely in C#, all safe code except the kernel and a HAL [hardware abstraction layer] on top," Larus said. "The device drivers and everything else are written in a dialect of the safe form of C#."