Home Publications Activities

Books

  • Nigel Horspool and Nikolai Tillmann, TouchDevelop: Programming on the Go
    APress Open, 2013.
    250 pages, paperbound. ISBN 978 1 4302 6136 0.
  • Judith Bishop and Nigel Horspool, C# Concisely
    Pearson Education, 2004.
    442 pages, paperbound. ISBN 0 321 15418 5.
  • R. Nigel Horspool, The Berkeley UNIX Environment
    Prentice-Hall Canada, Inc., Scarborough, Ontario, 1992.
    (379 pp. paperbound).
  • R. Nigel Horspool, C Programming in the Berkeley UNIX Environment
    Prentice-Hall Canada, Inc., Scarborough, Ontario, 1986.
    (303 pp. paperbound).
 

 

Journal and Conference Papers

Nearly all publications from 1990 onwards are available here. A few publications from earlier years are also provided.
To comply with copyright rules, the more recent publications are linked to PDF copies maintained by the publishers.

2015

A framework for metamorphic malware analysis and real-time detection
S. Alam, R.N. Horspool, I. Traore, and I. Sogukpinar
Computers and Security, 48, pp. 213-233, Feb. 2015.
Experience with Constructing Code Hunt Contests
N. Horspool, J. Bishop, J. de Halleux and N. Tillmann
Proc. of 1st Int'l Code Hunt Workshop on Educational Software Engineering (CHESE 2015), Baltimore, MD, June 2015.
Crowdsourcing code and process via code hunt
Tao Xie, Judith Bishop, R Nigel Horspool, Nikolai Tillmann, and Jonathan de Halleux
Proc. of 2015 IEEE/ACM 2nd International Workshop on CrowdSourcing in Software Engineering (CSI-SE).
Code Hunt: Experience with Coding Contests at Scale
J. Bishop, N. Horspool, T. Xie, N. Tillmann, and J. de Halleux
Proc. of the 37th Intl. Conf. on Software Engineering (ICSE 2015), JSEET track, Florence, Italy, May 2015.
A Survey: Software-Managed On-Chip Memories
Shahid Alam, R Nigel Horspool
Computing and Informatics, vol. 34, number 5, January 2015, pp. 1168-1200.

2014

Code Hunt: Searching for Secret Code for Fun
N. Tillmann, J. Bishop, N. Horspool, D. Perelman, and T. Xie
Proc. of 7th Intl. Workshop on Search-Based Software Testing (SBST).
Sliding window and control flow weight for metamorphic malware detection
S. Alam, I. Sogukpinar, I. Traore, and R.N. Horspool
Journal of Computer Virology and Hacking Techniques, 48, pp. 1-14, Aug. 2014.
Code Hunt: Context-Driven Interactive Gaming for Learning Programming and Software Engineering
N. Tillmann, J. de Halleux, J. Bishop, T. Xie, N. Horspool, and D. Perelman,
Proc. of 1st Intl. Workshop on Context in Software Development (CSD 2014), Hong Kong, November 2014.

2013

MAIL: Malware Analysis Intermediate Language: a step towards automating and optimizing malware detection
S. Alam, R.N. Horspool, and I. Traore
Proc. of 6th Intl. Conf. on Security of Inf. and Networks, ACM Press, pp. 233-240, November 2013.

2011

Browser-based Software for Technology Transfer
J. Bishop, J. de Halleux, N. Tillmann, R. N. Horspool, D. Syme and T. Xie
Proceedings of SAICSIT 2011, Cape Town, 3-5 October 2011, pp. 338-340.
HiLPR: pretty pictures for pretty complicated (parallel) patterns
Donna Kaminskyj Long, Celina Gibbs, Nigel Horspool, ans Yvonne Coady
Proceedings of the 18th Conference on Pattern Languages of Programs.

2010

Local Redundant Polymorphism Query Elimination
R.H.F, Brown, and R.N. Horspool
Proc. of PPPJ 2010, 15-17 Sept. 2010, Vienna, pp. 78-88.
Current trends and the future of software-managed on-chip memories in modern processors
S. Alam, and R.N. Horspool
Proc. of the 2010 Intl. Conf. on High Performance Computing Systems, HPCS 2010, Orlando, pp. 63-70, July 2010.

2009

ARMSIM# - a Customizable Simulator for Exploring the ARM Architecture
R.N. Horspool, W. Lyons, and M. Serra
Proc. of 2009 Intl. Conf. on Frontiers in Education, FECS2009, 13-16 July 2009, Las Vegas, pp. 223-228.

2008

On the Efficiency of Design Patterns Implemented in C# 3.0 (preprint)
Judith Bishop and R. Nigel Horspool
Proceedings of 46th International Conference, TOOLS EUROPE 2008, June/July 2008; LNBIP vol. 11, Springer-Verlag, pp.356-371.

2007

Optimizations for object-oriented languages
A. Krall, and R.N. Horspool
In The Compiler Design Handbook: Optimizations and Machine Code Generation (second edition), Y. N. Srikant and P. Shankar (editors). CRC Press, 2007.
Compiler Optimizations for Processors with SIMD Instructions.
Krall, A., Y. Pryanishnikov and R.N. Horspool.
Software: Practice and Experience, vol. 37, 1 (Jan. 2007), pp. 93-113.
Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures.
Farfeleder, S., A. Krall and R.N. Horspool.
Journal of Systems Architecture, vol. 53, 8 (Aug. 2007), pp. 501-510.
>> Preprint of article <<

2006

Cross-Platform Development: Software That Lasts.
Judith Bishop and Nigel Horspool.
IEEE Computer, vol. 39, 10 (Oct. 2006), pp. 26-35.
Fast Profile-Based Partial Redundancy Elimination.
R. Nigel Horspool, David J. Pereira and Bernhard Scholz.
Proceedings of Joint Modular Languages Conference (JMLC 2006), 13-15 September 2006; LNCS vol. 4228, Springer-Verlag, pp. 362-376.
Object-Specific Redundancy Elimination Techniques.
Rhodes H. F. Brown and R. Nigel Horspool.
Proceedings of Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS'2006), 3 July 2006.

2005

Hardware/Software Co-Design for Virtual Machines.
Kent, K. B., M. Serra and R.N. Horspool.
IEE Computer and Digital Techniques, vol. 152, 5 (Sept. 2005), pages 537-696.
Control Flow Graph Reconstruction for Assembly Language Programs with Delayed Instructions.
Krall, A., N. Bermudo and R.N. Horspool.
Proceedings of SCAM'05, 30 September -- 1 October 2005, Budapest, Hungary; IEEE Computer Society, pages 107-116.
Two Techniques for Improving the Performance of Exception Handling.
Zastre, M., and R.N. Horspool.
Proceedings of Workshop on Exception Handling in Object Oriented Systems, July 2005, Glasgow, Scotland. Published as Tech. Report 05-050; Department of Computer Science; LIRMM; Montpellier-II University; pp. 63-74.
Experience in integrating Java with C# and .NET.
Judith Bishop, R. Nigel Horspool, and Basil Worrall.
Concurrency and Computation: Practice and Experience, vol. 17, issue 5-6 (April 2005), pp. 663-680.
Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures.
Stefan Farfeleder, Andreas Krall, and Nigel Horspool.
Proceedings of SAMOS V: Embedded Computer Systems: Architectures, MOdeling, and Simulation, July 2005, Samos, Greece. LNCS vol. 3533, Springer-Verlag, pp. 222-231.

2004

Optimizing for Space and Time Usage with Speculative Partial Redundancy Elimination
Bernhard Scholz, Nigel Horspool and Jens Knoop.
Proceedings of LCTES'04, Washington, DC, June 2004, ACM Press, pp. 221-230.
(Slides)
Developing Principles of GUI Programming Using Views.
Judith Bishop and Nigel Horspool.
Proceedings of SIGCSE'04, Norfolk, VA, March 2004, ACM Press, pp. 373-377.

2003

Pointer Alignment Analysis for Processors with SIMD Instructions.
Ivan Pryanishnikov, Andreas Krall, and Nigel Horspool.
In Proceedings of 5th Workshop on Media and Streaming Processors,
held in conjunction with MICRO-36 (MSP'03), San Diego, CA, December 1, 2003, pp. 50-57.
Partial Redundancy Elimination with Predication Techniques.
Bernhard Scholz, Eduard Mehofer, and Nigel Horspool.
Proc. of EuroPar 2003, Klagenfurt, Austria, August 2003, LNCS 2790, Springer-Verlag, pp. 242-250.
Predicated Partial Redundancy Elimination using a Cost Analysis.
Bernhard Scholz, Eduard Mehofer, and Nigel Horspool.
Parallel Processing Letters, vol. 13, 4, pp. 525-536.

2002

"Optimizations for Object-Oriented Languages".
A. Krall and R. N. Horspool.
in The Compiler Design Handbook: Optimizations and Machine Code Generation, Y. N. Srikant and P. Shankar (eds). CRC Press, pp. 219-246. ISBN 0 8493 1240 X, 2002.
Experience with integrating Java with new technologies: C#, XML and web services.
Judith Bishop, R. Nigel Horspool, and Basil Worrall.
Proc. of Java Grande Conference, ACM Press, p. 225 (poster paper).
Expeditious XML Processing.
Kelvin Yeow, R. Nigel Horspool, and Michael Levy.
Proceedings of IDEAL'02, Third International Conference on Intelligent Data Engineering and Automated Learning. Manchester, UK, August 2002, LNCS 2412, Springer-Verlag, pp. 148-153
Practical Earley Parsing.
John Aycock and R. Nigel Horspool.
Computer Journal, vol. 45, 6 (2002), pp. 620-630.

2001

Exploiting Exceptions.
Michael Zastre and R. Nigel Horspool.
Software: Practice and Experience, vol. 31, 12 (2001) pp. 1109-1123.
Schrödinger's Token.
John Aycock and R. Nigel Horspool.
Software: Practice and Experience, vol. 31, 8 (2001), pp. 803-814.
Even Faster Generalized LR Parsing
John Aycock, R. Nigel Horspool, Jan Janousek and Borivoj Melichar.
Acta Informatica, vol. 37, 9 (2001), pp. 633-651.
Directly-Executable Earley Parsing.
John Aycock and R. Nigel Horspool.
Proceedings of CC 2001, Compiler Construction Conference, Genoa, Italy, April 2001, LNCS 2027, Springer-Verlag, pp. 229-243.

2000

Analysis of Equation Structure using Least Cost Parsing
R. Nigel Horspool and John Aycock
Proceedings of Sixth Intl. Workshop on Parsing Technologies (IWPT'2000), Trento, Italy, Feb. 2000, pp. 307-308.
Simple Generation of Static Single Assignment Form
John Aycock and R. Nigel Horspool
Proceedings of 9th Intl Conference on Compiler Construction (CC2000), Berlin, March/April 2000, LNCS 1781, Springer-Verlag, pp. 110-124.

1999

Faster Generalized LR Parsing
John Aycock and R. Nigel Horspool
Proceedings of CC'99, 8th Intl. Conference on Compiler Construction, Amsterdam, March 1999. LNCS 1575, Springer-Verlag, pp. 32-46.

1998

JAZZ: An Efficient Compressed Format for Java Archive Files
Quetzal Bradley, R. Nigel Horspool and Jan Vitek
Proceedings of CASCON'98, Toronto, Ontario (Nov/Dec 1998), pp. 294-302.
Tailored Compression of Java Class Files
Horspool, R. N., and J. Corless
Software: Practice and Experience, vol. 27, 12 (Oct. 1998), pp. 1253-1268.

1997

CCC: A Caching Compiler for C
Brian Koehler and R. Nigel Horspool
Software: Practice and Experience, vol. 27, 2 (Feb. 1997), pp. 155-165.
Partial Redundancy Elimination based on a Cost-Benefit Analysis
R. Nigel Horspool and H.C. Ho
Proceedings of 8th Israeli Conference on Computer Systems and Software Engineering (ICSSE'97), Herzliya, Israel, June 1997, IEEE Computer Society, pp. 111-118.
Efficient Type Inclusion Tests
Jan Vitek, R. Nigel Horspool and Andi Krall
Proceedings of OOPSLA'97, Atlanta, GA, Oct. 1997, pp. 142-157.
Near Optimal Hierarchical Encoding of Types
Andi Krall, Jan Vitek and R. Nigel Horspool
Proceedings of 11th European Conference on Object-Oriented Programming (ECOOP'97), Jyväskylä, Finland, June 1997, LNCS vol. 1241, Springer-Verlag, pp. 128-145.

1996

A Faster Earley Parser
Philippe McLean and R. Nigel Horspool
Proceedings of Intl. Conference on Compiler Construction (CC'96), Linkoping, Sweden, April 1996, LNCS vol. 1060, Springer-Verlag, pp. 281-293.
Compact Dispatch Tables for Dynamically Typed Object Oriented Languages
Jan Vitek and R. Nigel Horspool
Proceedings of Intl. Conference on Compiler Construction (CC'96), Linkoping, Sweden, April 1996, LNCS vol. 1060, Springer-Verlag, pp. 309-325.

1995

The Effect of Non-Greedy Parsing in Ziv-Lempel Compression Methods
R. Nigel Horspool
Published in proceedings of Data Compression Conference (DCC'95), Snowbird, Utah, March 1995, pp 302-311.

1994

An LZ Approach to ECG Compression
R. Nigel Horspool and Warren J. Windels
Published in proceedings of 1994 IEEE Seventh Symposium on Computer-Based Medical Systems (CBMS'94), Winston-Salem, NC, June 1994, pp 71-76.
Taming Message Passing: Efficient Method Look-Up for Dynamically Typed Languages
Jan Vitek and R. Nigel Horspool
Published in proceedings of European Conf. on Object-Oriented Programming (ECOOP'94), Bologna, Italy, July 1994, LNCS vol. 821, Springer- Verlag, pp 432-449.
Flow Grammars - A Flow Analysis Methodology
James S. Uhl and R. Nigel Horspool
Published in proceedings of Compiler Construction Conference (CC'94), Edinburgh, UK, April 1994, LNCS vol. 786, Springer-Verlag, pp 203-217.

1993

Recursive Ascent-Descent Parsing
R. Nigel Horspool
Journal of Computer Languages, vol. 18, no. 1, 1993, pp 1-16.
Translator-Based Multiparadigm Programming
R. Nigel Horspool and Michael R. Levy
Journal of Systems and Software, vol. 23, no. 1, 1993, pp. 39-49.
Translating prolog to C: A WAM-Based Approach
Michael R. Levy and R. Nigel Horspool
Proceedings of 2nd Compulog-Network Area Meeting on Programming Languages, Pisa, Italy, (May 1993).

1992

Compile-Time Analysis of Object-Oriented Programs
Jan Vitek, R. Nigel Horspool and James S. Uhl
Proceedings of Intl. Conference on Computer Construction (CC'92), Paderborn, October 1992, pp. 236-250.
[Note: this PDF file is a scanned image and therefore large; it is about 6MB.]
Static Analysis of PostScript
R. Nigel Horspool and Jan Vitek
Proceedings of Intl. Conference on Computer Languages (ICCL'92), San Francisco, April 1992, pp. 14-23.
Constructing Word-Based Text Compression Algorithms
R. Nigel Horspool and Gordon V. Cormack
Proceedings of Data Compression Conference (DCC'92), Snowbird, UT, March 1992, pp. 62-71.

1991

Improving LZW
R. Nigel Horspool
Proceedings of Data Compression Conference (DCC'91), Snowbird, UT, April 1991, pp. 332-341.

1990

Incremental Generation of LR Parsers
R. Nigel Horspool
Journal of Computer Languages, vol. 15, no. 4, 1990, pp. 205-223.
Even Faster LR Parsing
R. Nigel Horspool and Michael Whitney
Software: Practice and Experience, vol. 20, no. 6 (June 1990), pp. 515-535.

1986

Data Compression Using Dynamic Markov Modelling
G.V. Cormack and R.N.S Horspool
The Computer Journal, vol. 30, no. 6, 1986, pp. 541-550.
(Note: this PDF file has been created by scanning a paper copy, using OCR and re-formatting the document; there are small differences in layout when compared with the original.)

1980

Practical Fast Searching in Strings
R. Nigel Horspool
Software: Practice and Experience, vol. 10, no. 6 (June 1980), pp. 501-506.
(Note: this PDF file has been created by scanning a paper copy, using OCR and re-formatting the document; there are small differences in layout when compared with the original.)

1979

A New Representation of the Rational Numbers for Fast Easy Arithmetic
E.C.R. Hehner and R.N. Horspool
SIAM Journal on Computing, vol. 8, no. 2, 1979, pp. 124-134.
(Note: this version of the paper has two extra appendices which did not appear in the published version.)

1978

Exact Arithmetic using a Variable-Length P-adic Representation
R. Nigel Horspool and Eric C.R. Hehner
Proceedings of 4th IEEE Symposium on Computer Arithmetic, Santa Monica, CA, 1978, pp. 10-14.