Papers

This page documents papers that I have authored.

Bibligraphic References

Henderson, C.D.M., Managing Software Defects (2006): Online at

Henderson, C.D.M., String Concatenation and Template Expressions (2005): In C/C++ Users Journal 23(6), June 2005

Henderson, C.D.M., ALGORITHMS FOR MAMMOGRAM ANALYSIS: A focus on breast tissue asymmetry (2005): In CEMS Research Poster Event, University of the West of England, Bristol, UK, September 2005

Henderson, C.D.M., Optional Storage (2004): In C/C++ Users Journal 22(5), May 2004

Henderson, C.D.M., Local segmentation of the pectoralis major in mediolateral oblique mammographic images (2003)

Henderson, C.D.M., Global segmentation of mediolateral oblique mammographic images (2003)

Henderson, C.D.M., Automated identification of the orientation of mediolateral oblique mammographic images (2003): Online at

Henderson, C.D.M., Ready-to-Run C++ (2002)

Henderson, C.D.M., Dragon Monitor (1989): In Dragon User January 1989

Henderson, C.D.M., Dragon Invoicer (1984): In Dragon User August 1984

Paper Details

There are a number of sections:

Online Papers

Managing Software Defects

Authored 2006, Published online 2007

An irony of Software Engineering is that it is an inexact science using very exact technology. Nothing could be more precise than a unit of two states, 0 or 1; yet creating the sequence of states that can get a machine to do something useful or interesting – at least to do it correctly and consistently – is very difficult. Defects will exist within software for as long as software itself exists, and that is set to be a very long time, so managing the defects and looking for improved methods of doing so is important to the sanity of those in the profession.

Keywords: Software development; defect management, bugs

Available online. A revised version of this paper is to appear, ACM SIGSOFT Software Engineering Notes, July 2008 and will be available for download from this site shortly afterwards.

Henderson, C.D.M., Managing Software Defects (2006): Online at

Automated identification of the orientation of mediolateral oblique mammographic images

Authored August 2003
Revised October 2003

When comparing mammogram images, whether temporal, bilateral or otherwise, it is essential that the orientation of the breasts in each image match. This initial image orientation problem is generally omitted from the registration procedure and left to the operator to provide the x-ray images in the order and orientation that the software system requires. In a fully automated system, this is an unacceptable burden on the system operator. This paper describes an algorithmic procedure for identifying the orientation of mediolateral oblique (MLO) breast images that can be used as a first step in the process of mammogram registration in an automated system.

Keywords: mammogram; image analysis; image orientation

Available online.

Henderson, C.D.M., Automated identification of the orientation of mediolateral oblique mammographic images (2003): Online at

Published Papers

String Concatenation and Template Expressions

2005, C/C++ Users Journal 23(6)

Expression templates are a powerful technique for delayed evaluation of expression. In this article, I use expression templates to make optimising string concatenation by taking advantage of the delay and allocating just one buffer that is large enough to contain the string that results from the entire expression. The expression is evaluated only when it is assigned to a basic_string object, so if the expression is never assigned, then the expression is never evaluated. This is contrary to the normal behaviour that would create a host of temporary strings and then just throw them away.

Keywords: C++ development; template; generic programming; expression templates

Available online here, and on Dr. Dobb's Portal.

Henderson, C.D.M., String Concatenation and Template Expressions (2005): In C/C++ Users Journal 23(6), June 2005

Optional Storage

2004, C/C++ Users Journal 22(5)

This paper presents a technique for creating a generic data structure that can eliminate any unwanted data members at compile time, to optimise the storage requirements of the class but maintain a consistent interface. A running example is provided to demonstrate the use of the technique. A generic personal_details class is defined to represent the forenames, surname, gender, maiden name and children's names of a person. Storage requirements for members that are not required are eliminated at compile time, for example the maiden name from the representation Men.

Keywords: C++, template, memory optimization

Available online here, and on Dr. Dobb's Portal.

Henderson, C.D.M., Optional Storage (2004): In C/C++ Users Journal 22(5), May 2004

Posters

ALGORITHMS FOR MAMMOGRAM ANALYSIS: A focus on breast tissue asymmetry

CEMS Research Poster Event, Sept 2005
University of the West of England, Bristol, UK

A poster describing my research presented at the University's graduate research poster event, September 2005.

Keywords: mammography, breast cancer, image segmentation, WinMammo

Available online here and on UWE online.

Henderson, C.D.M., ALGORITHMS FOR MAMMOGRAM ANALYSIS: A focus on breast tissue asymmetry (2005): In CEMS Research Poster Event, University of the West of England, Bristol, UK, September 2005

Unpublished Papers

Global segmentation of mediolateral oblique mammographic images

A mediolateral oblique (MLO) mammogram image contains far more that just an image of the breast. A film clip is generally present along with imaging artefacts and background noise. Before any computer analysis of the mammogram begins, the identification and extraction of the breast area is necessary – a technique called global segmentation. This paper describes in detail an algorithm for global segmentation of MLO mammogram to create an accurate breast area region in good quality images.

Keywords: mediolateral oblique, mammogram, global segmentation; image processing; image analysis

Not available online.

Henderson, C.D.M., Global segmentation of mediolateral oblique mammographic images (2003)

Local segmentation of the pectoralis major in mediolateral oblique mammographic images

Keywords: mammogram segmentation; pectoralis major; pectoral muscle; image processing; image analysis

Not available online.

Henderson, C.D.M., Local segmentation of the pectoralis major in mediolateral oblique mammographic images (2003)

Discussion Papers

Ready-to-Run C++

Traditional compiler techniques centre on individual source files in their entirety to form a compilation unit. This requires the entire unit to be recompiled whenever any of its dependent files have been modified, regardless of the nature of the change. This paper discusses how things could be improved.

Keywords: software development environment, background compilation

Henderson, C.D.M., Ready-to-Run C++ (2002)

Nostalgic

Dragon Logo

As a child I was facinated by computers. I had my first computer, a Sinclair ZX81 for an early birthday (don't remember which one, but I was still at primary school), and I learned the basics of programming on my Dad's Dragon 32. It was for the Dragon computer that I published my first technical articles in the Dragon User magazine.

Dragon Monitor

Dragon User Magazine
January 1989

A memory dump program written in BASIC for the Dragon 32 computer.

Keywords: memory dump, hex dump

Henderson, C.D.M., Dragon Monitor (1989): In Dragon User January 1989

Dragon Invoicer

Dragon User Magazine
August 1984

A menu driven Invoice creation program written in BASIC for the Dragon 32 computer. Fully functioning program listing for the devoted readers to type into the machine before it crashed and you lost everything!

Henderson, C.D.M., Dragon Invoicer (1984): In Dragon User August 1984