Researchers Fight Computer 'Obesity' Crisis

December 5, 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: 'Anti-aging' technique for computer software systems

Related Stories

Activity sensing with software sensors

June 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.

Second-Hand Computers Pose Identity Theft Threat

January 30, 2006

A new identity theft study conducted by leading University of Leicester criminologist, Professor Martin Gill found that second-hand computers - which account for one in 12 computers in use worldwide - can be a potential treasure ...

Recommended for you

Dutch unveil giant vacuum to clean outside air

October 25, 2016

Dutch inventors Tuesday unveiled what they called the world's first giant outside air vacuum cleaner—a large purifying system intended to filter out toxic tiny particles from the atmosphere surrounding the machine.

3-D-printed organ-on-a-chip with integrated sensors

October 24, 2016

Harvard University researchers have made the first entirely 3D-printed organ-on-a-chip with integrated sensing. Built by a fully automated, digital manufacturing procedure, the 3D-printed heart-on-a-chip can be quickly fabricated ...


Please sign in to add a comment. Registration is free, and takes less than a minute. Read more

Click here to reset your password.
Sign in to get notified via email when new comments are made.