Read The Times Australia

Daily Bulletin

How computers are learning to make human software work more efficiently

  • Written by: The Conversation
imageNeed a computer doctor? Dial 100110011001agsandrew

Computer scientists have a history of borrowing ideas from nature, such as evolution. When it comes to optimising computer programs, a very interesting evolutionary-based approach has emerged over the past five or six years that could bring incalculable benefits to industry and eventually consumers. We call it genetic improvement.

Genetic improvement involves writing an automated “programmer” who manipulates the source code of a piece of software through trial and error with a view to making it work more efficiently. This might include swapping lines of code around, deleting lines and inserting new ones – very much like a human programmer. Each manipulation is then tested against some quality measure to determine if the new version of the code is an improvement over the old version. It is about taking large software systems and altering them slightly to achieve better results.

The benefits

These interventions can bring a variety of benefits in the realm of what programmers describe as the functional properties of a piece of software. They might improve how fast a program runs, for instance, or remove bugs. They can also be used to help transplant old software to new hardware.  

The potential does stop there. Because genetic improvement operates on source code, it can also improve the so-called non-functional properties. These include all the features that are not concerned purely with just the input-output behaviour of programs, such as the amount of bandwidth or energy that the software consumes. These are often particularly tricky for a human programmer to deal with, given the already challenging problem of building correctly functioning software in the first place.

We have seen a few examples of genetic improvement beginning to be recognised in recent years – albeit still within universities for the moment. A good early one dates from 2009, where such an automated “programmer” built by the University of New Mexico and University of Virginia fixed 55 out of 105 bugs in various different kinds of software, ranging from a media player to a Tetris game. For this it won $5,000 (£3,173) and a Gold Humie Award, which is awarded for achievements produced by genetic and evolutionary computation.

In the past year, UCL in London has overseen two research projects that have demonstrated the field’s potential (full disclosure: both have involved co-author William Langdon). The first involved a genetic-improvement program that could take a large complex piece of software with more than 50,000 lines of code and speed up its functionality by 70 times.

The second carried out the first automated wholesale transplant of one piece of software into a larger one by taking a linguistic translator called Babel and inserting it into an instant-messaging system called Pidgin.

Nature and computers

To understand the scale of the opportunity, you have to appreciate that software is a unique engineering material. In other areas of engineering, such as electrical and mechanical engineering, you might build a computational model before you build the final product, since it allows you to push your understanding and test a particular design. On the other hand, software is its own model. A computational model of software is still a computer program. It is a true representation of the final product, which maximises your ability to optimise it with an automated programmer.

imageThank you, Mr DarwinEverett Historical

As we mentioned at the beginning, there is a rich tradition of computer scientists borrowing ideas from nature. Nature inspired genetic algorithms, for example, which crunch through the millions of possible answers to a real-life problem with many variables to come up with the best one. Examples include anything from devising a wholesale road distribution network to fine-tuning the design of an engine.

Though the evolution metaphor has become something of a millstone in this context, as discussed here, genetic algorithms have had a number of successes producing results which are either comparable with human programs or even better.

Evolution also inspired genetic programming, which attempts to build programs from scratch using small sets of instructions. It is limited, however. One of its many criticisms is that it cannot even evolve the sort of program that would typically be expected of a first-year undergraduate, and will not therefore scale up to the huge software systems that are the backbone of large multinationals.

This makes genetic improvement a particularly interesting deviation from this discipline. Instead of trying to rewrite the whole program from scratch, it succeeds by making small numbers of tiny changes. It doesn’t even have to confine itself to genetic improvement as such. The Babel/Pidgin example showed that it can extend to transplanting a piece of software into a program in a similar way to how surgeons transplant body organs from donors to recipients. This is a reminder that the overall goal is automated software engineering. Whatever nature can teach us when it comes to developing this fascinating new field, we should grab it with both hands.

The authors do not work for, consult to, own shares in or receive funding from any company or organisation that would benefit from this article. They also have no relevant affiliations.

Authors: The Conversation

Read more http://theconversation.com/how-computers-are-learning-to-make-human-software-work-more-efficiently-43798

Business News

How Businesses Can Prepare for Unexpected Power Outages

Power failures can occur quickly. The supply may be interrupted by bad weather, issues with the electricity network, damaged equipment or local construction work. This can be just a hassle for a fam...

Daily Bulletin - avatar Daily Bulletin

How Chatswood Tutoring Can Fit Into a Student’s Weekly Routine

Create a Predictable Weekly Structure A consistent weekly routine can make study easier to manage when students are balancing several subjects. Chatswood tutoring can provide a fixed learning point a...

Daily Bulletin - avatar Daily Bulletin

The Rise of Digital Marketplaces in the Australian Trade Sector

For decades, the Australian trade and construction sector operated almost entirely on word-of-mouth recommendations and local community networks. Small business owners typically relied on local newspa...

Daily Bulletin - avatar Daily Bulletin

How Immigration Lawyers Can Help

Introduction Visa decisions can shape employment, family life, study plans, travel, and future residence. A small omission can lead to delay, added expense, or refusal. Immigration lawyers assess l...

Daily Bulletin - avatar Daily Bulletin

How Industrial Drying Equipment Supports Efficient Processing

Many industrial processes require moisture to be removed from compressed air, products or process materials before they move to the next stage. Excess moisture can affect equipment performance, produc...

Daily Bulletin - avatar Daily Bulletin

Practical Ways a Whiteboard Can Improve Workplace Communication

Effective communication helps teams stay organised, share ideas and keep track of important information. While digital tools are now common in many workplaces, a whiteboard continues to provide a simp...

Daily Bulletin - avatar Daily Bulletin

Designing Eco-Friendly Custom Water Bottles for Your Next Event

The Evolution of Sustainable Event Merchandise Event planning has undergone a massive transformation over the last decade. Gone are the days when organizers could hand out cheap, single use plastic...

Daily Bulletin - avatar Daily Bulletin

Why Choosing a Professional Florist Melbourne Makes Flower Delivery Impactful

Flowers have a great power to speak when humans cannot express their feelings with right words. Flowers are the best gifts when you are celebrating a birthday or welcoming a newborn child into your fa...

Daily Bulletin - avatar Daily Bulletin

The Business Case for Choosing Australian Fabricators Over Imported Alternatives

For a long time, you might have defaulted to overseas suppliers when sourcing fabricated metal components for a project. The unit price was lower on paper, and the maths seemed straightforward. That...

Daily Bulletin - avatar Daily Bulletin

The Daily Magazine

How to Vet and Hire the Right Property Expert in the Australian Market

Navigating the Australian real estate market has become a highly strategic exercise. Recent nation...

Moving From Australia to Wellington: The Practical Settling-In Checklist

Wellington has a lot going for it. It's compact, walkable and full of cafes, with a harbour that r...

How to Match Replacement Roof Tiles on an Older Home

Renovating or repairing an existing roof comes with quite a few headaches, and matching the old roof...

Sydney Academy Partnership Targets Talent Development for Travel and Hospitality

VFS Global Academy’s Australian expansion will focus on practical skills and career development thro...

How Strategic Corporate Gifting Boosts Client Retention and Team Morale

As the calendar pushes towards the end of the year, business leaders across Australia begin evalua...

The Importance of Reliable Plumbing Services During Home Renovations

A freshly renovated bathroom can make an ordinary Monday morning feel a little more inviting. The ne...

Backyard Living Options for Campbelltown Homes: What Works Best?

You know that feeling at the end of a long, busy week when all you want is a calm spot outdoors, whe...

Smart Wardrobe Storage Ideas for Small Sydney Apartments and Bedrooms

A well-designed wardrobe is one of the most useful things a home can have. It's meant to keep clothe...

Colorbond Fencing in Australia: Costs, Colours, Rules and What Actually Lasts

Drive through almost any Australian suburb built in the last thirty years and you are looking at the...