Microsoft Research aims to ease development
Microsoft Research is working on a technology that will enable software developers and system integrators (SIs) to develop and modify enterprise business applications at a higher abstraction level than basic coding, according to a researcher at Microsoft Research India in Bangalore.
Adding new features or modifying functionality in a business application often requires the SI to modify the code of the software, said Sriram Rajamani, head of the software engineering group set up to undertake the project. The job of the SI is made all the more difficult because many of the design objectives and architectural decisions that went into the application are often inadequately documented, Rajamani added.
Software design and architectural decisions are "institutional memories" that are no longer represented as part of a program, and are often lost when, for example, staff move to other jobs, Rajamani said. As a result, evolving code is painful today because changes are not being made at the right level of abstraction, he added.
Currently, most coding work for business applications is done at a level close to the platform on which the application is implemented, such as the Microsoft Windows platform, requiring developers to express functions at a fairly detailed level, according to Padmanabhan Anandan, managing director of Microsoft Research India.
"Our goal is to move up the process entirely to a level of abstraction where the programmers will express what they need to do at a level closer to the application domain, and there will be tools that will enable them to then translate it downwards to the level of verification and testing," said Anandan. "Ultimately we think that if all goes well, there should be a dramatic increase in the productivity and maintainability of the software."
By defining the system at a higher level of abstraction and generating code from it, modifications to the business requirement of the application can then be done at the higher level without directly having to modify the code, Rajamani said. Another aim of the research is to create tools that provide visibility into the system and the way it is functioning at various levels of abstraction.
The tools would also ensure greater discipline and better processes for documenting the various design rules and thought processes involved in the development of an application, Rajamani added.
Just as high-level languages such as C reduced the requirement for programming at the assembly language level, the technology being developed by Microsoft Research India will reduce the amount of time spent by software developers and SIs on programming at the level of languages such as C, Rajamani said.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













