Microsoft Research aims to ease development

IDG News Service |  Development Add a new comment

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.

Microsoft Research India is working on this project, called internally the Rigorous Software Engineering project, with Indian software development outsourcers and systems integrators, as well as Indian educational institutions. They will help fine tune the requirements of the technology and test prototypes. The first prototypes are likely to be built around Microsoft's platforms, Rajamani added.

He declined to comment on when the technology might find its way into products, noting that it is still being researched.

Microsoft Research India was set up in January by Microsoft Corp., of Redmond, Washington, to research a number of areas, including computing technologies for emerging markets. The lab is among five research labs that Microsoft runs worldwide.

Research in software engineering is already being done at labs in other locations, including Redmond, according to Anandan. However, since the Rigorous Software Engineering project is focussed on improving developer productivity, Microsoft decided to do it in India because the country is a global software development hub with a large pool of developers, he said.

    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question