Researchers Fight Computer 'Obesity' Crisis

Dec 05, 2007

Obesity is not just a problem for people. Cutting-edge research in the Department of Computer Science at the University of Leicester is tackling the problem of ‘obesity’ in computer software.

Scientists say that although software does not wear out like cars and other equipment, if it does not follow a healthy life style, it can become obese, fragile or brittle and stop performing well.

The danger to operating systems is acute in sectors that are undergoing modernisation and institutions like banks, warn the Leicester team.

Now a group of researchers at the University of Leicester are collaborating with ATX Software, a company that develops technology that supports re-engineering of legacy systems, in devising new methods and techniques that can be used to keep software agile and fit for purpose.

This research is being sponsored by the Marie-Curie programme as an Industry-Academia Partnership called Leg2Net.

Professor José Luiz Fiadeiro, the coordinator of Leg2Net, explained: “To many people, software is something that allows us to use a computer to perform certain activities (like writing a piece of text). However, software doesn't just sit inside the computer. It has a life of its own and evolves over time.

“This is what happens, for instance, when we are asked if we want to download an updated version of the application that we have just launched. The fact that software needs to be continually adapted in order to deliver the same level of satisfaction to the user (or even increase it), is known as Lehman's first law of software evolution.

“Large organisations such as banks use very complex software applications and evolving them is a highly challenging task. For a start, there is not only one user to be kept satisfied. If one is not careful, complexity increases as software is evolved. This is known as Lehman's second law of software evolution.”

Luis Andrade, CEO of ATX Software, adds: “Very often, layers of software keep being added without restructuring what was there already, or new applications are coarsely stitched to old ones without taking into account the global structure or architecture of the system.

“In modern terms, we could say that software becomes "obese" as it lets "fat" accumulate, for instance, old code that is no longer necessary. As a result, applications become less and less efficient, more and more difficult to change. And, when this happens, systems begin to lack the agility, flexibility, and responsiveness that companies require to address the fierce competition and market volatility that characterises business today.”

The intervention technique is tantamount to 'liposuction' a one-off application that restructures the software and delivers a high-level architecture (muscle) that is independent of the code.

However, in order for computer software to function healthily, changes to the application are done on the architecture –the scientists effectively work on the muscle - and the code is generated automatically so as to preserve the architecture. However, if people (programmers) fiddle directly with the code, the architectural link is lost and 'fat' starts to accumulate again.

At Leicester, the Leg2Net team is researching some of the techniques that can be used to combat this problem. As with humans, Professor Reiko Heckel says, one can make a surgical operation to remove the fat. In software engineering, this requires a careful analysis of the code, breaking it into meaningful chunks so that one can understand what is "fat" and what is "muscle", and reorganise what is left so that the original functionality is preserved. These re-engineering techniques are based on graphs and require sophisticated mathematical operations - a job for specialists, supported by clever software tools such as those developed by ATX.

As with humans, if software does not change its ‘life style’, fat will accumulate again. One of the methods that has been gaining popularity for keeping software fit and agile is the adoption of a service-oriented architecture.

This is an infrastructure that reduces complexity and maximises flexibility by relying not on monolithic systems put together from rigid and static connections between components, but on systems that can be dynamically reconfigured by procuring the best service that can contribute to the task at hand.

Professor Heckel continued: “At Leicester, we are doing research aimed precisely at re-engineering "obese" (aka "legacy") software into such service-oriented architectures, and on ways of supporting evolution within those architectures.”

Source: University of Leicester

Explore further: Computerized emotion detector

add to favorites email to friend print save as pdf

Related Stories

Illinois initiative creates futuristic facility

Dec 02, 2013

Through the CompGen initiative, the University's Institute for Genomic Biology and the Coordinated Science Laboratory in the College of Engineering are bringing together top faculty in genomic and computational ...

Europe's billion-star surveyor set for launch

Nov 27, 2013

By repeatedly observing a billion stars, with its billion-pixel video camera, the Gaia mission will allow astronomers to determine the origin and evolution of our galaxy whilst also testing gravity, mapping ...

Activity sensing with software sensors

Jun 22, 2010

A computer science researcher at the University of Leicester has investigated a technique which senses the activity of the user with the help of computer software systems.

Recommended for you

Computerized emotion detector

Sep 16, 2014

Face recognition software measures various parameters in a mug shot, such as the distance between the person's eyes, the height from lip to top of their nose and various other metrics and then compares it with photos of people ...

Cutting the cloud computing carbon cost

Sep 12, 2014

Cloud computing involves displacing data storage and processing from the user's computer on to remote servers. It can provide users with more storage space and computing power that they can then access from anywhere in the ...

Teaching computers the nuances of human conversation

Sep 12, 2014

Computer scientists have successfully developed programs to recognize spoken language, as in automated phone systems that respond to voice prompts and voice-activated assistants like Apple's Siri.

Mapping the connections between diverse sets of data

Sep 12, 2014

What is a map? Most often, it's a visual tool used to demonstrate the relationship between multiple places in geographic space. They're useful because you can look at one and very quickly pick up on the general ...

User comments : 0