School of Computing

Publications by Prof Simon Thompson

Also view these in the Kent Academic Repository

Conference or workshop item
Li, H. and Thompson, S. (2015). Safe Concurrency Introduction through Slicing. in: 2015 Workshop on Partial Evaluation and Program Manipulation. ACM SIGPLAN, pp. 103-113.
Thompson, S. et al. (2014). A Normal Form for Spider Diagrams of Order. in: 2014 International Workshop on Visual Languages and Computing.
Li, H. and Thompson, S. (2013). Multicore Profiling for Erlang Programs Using Percept2. in: Erlang Workshop 2013.
Rodgers, P. et al. (2013). Multi-level Visualization of Concurrent and Distributed Computation in Erlang. in: Visual Languages and Computing (VLC) in The 19th International Conference on Distributed Multimedia Systems (DMS 2013). Knowledge Systems Institute.
Li, H. and Thompson, S. (2012). Automated API migration in a user-extensible refactoring tool for Erlang programs. in: the 27th IEEE/ACM International Conference on Automated Software Engineering. ACM, pp. 294-297.
Li, H. and Thompson, S. (2012). Let's Make Refactoring Tools User-extensible!. in: Sommerlad, P. ed. The Fifth ACM Workshop on Refactoring Tools. pp. 32-39.
Moraglio, A. et al. (2012). Evolving Recursive Programs using Non-recursive Scaffolding. in: Proceedings of the 2012 IEEE World Congress on Computational Intelligence. pp. 1596-1603.
Li, H. and Thompson, S. (2012). A Domain-Specific Language for Scripting Refactorings in Erlang. in: de Lara, J. and Zisman, A. eds. 15th Fundamental Approaches to Software Engineering(FASE2012). Tallinn, Estonia: Lecture Notes in Computer Science. Springer, p. 15pp.
Li, H. and Thompson, S. (2011). Incremental Code Clone Detection and Elimination for Erlang Programs. in: Giannakopoulou, D. and Orejas, F. eds. Proceedings of the Conference on Fundamental Approaches to Software Engineering (FASE'11). Springer, pp. 182-196.
Arts, T., Lamela Seijas, P. and Thompson, S. (2011). Extracting QuickCheck Specifications from EUnit Test Cases. in: Rikitake, K. and Stenman, E. eds. Erlang Workshop 2011. ACM Press, pp. 182-196.
Li, H., Thompson, S. and Arts, T. (2011). Extracting Properties from Test Cases by Refactoring. in: Counsell, S. ed. Proceedings of the Refactoring and Testing Workshop (RefTest 2011). IEEE digital library, pp. 182-196.
Li, H. and Thompson, S. (2010). Improved Testing Through Refactoring: Experience from the ProTest project. in: Bottaci, L. and Fraser, G. eds. Testing - Practice and Research Techniques: 5th International Academic and Industrial Conference, TAIC PART 2010. Springer, pp. 182-196.
Li, H. and Thompson, S. (2010). Refactoring Support for Modularity Maintenance in Erlang. in: Vunju, J. and Marinescu, C. eds. Tenth IEEE International Working Conference on Source Code Analysis and Manipulation. IEEE Computer Society, pp. 182-196.
Arts, T. and Thompson, S. (2010). From Test Cases to FSMs: Augmented Test-driven Development and Property Inference. in: Fritchie, S. L. and Sagonas, K. eds. Erlang'10: Proceedings of the 2010 ACM SIGPLAN Erlang Workshop. ACM SIGPLAN, pp. 182-196.
Drienyovszky, D., Horpacsi, D. and Thompson, S. (2010). QuickChecking Refactoring Tools. in: Fritchie, S. L. and Sagonas, K. eds. Erlang�10: Proceedings of the 2010 ACM SIGPLAN Erlang Workshop. ACM SIGPLAN, pp. 182-196.
Li, H. and Thompson, S. (2010). Similar Code Detection and Elimination for Erlang Programs. in: Carro, M. and Pena, R. eds. Practical Aspects of Declarative languages 2010. Springer, pp. 182-196.
Brown, C., Li, H. and Thompson, S. (2010). An Expression Processor: A Case Study in Refactoring Haskell Programs. in: Page, R. ed. Eleventh Symposium on Trends in Functional Programming. pp. 182-196.
Brown, C. and Thompson, S. (2010). Clone Detection and Elimination for Haskell. in: Gallagher, J. and Voigtlander, J. eds. PEPM'10: Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. ACM Press, pp. 182-196.
Delaney, A. et al. (2010). Fragments of Spider Diagrams of Order and their Relative Expressiveness. in: Goel, A. K., Jamnik, M. and Narayanan, N. H. eds. Diagrammatic Representation and Inference 6th International Conference, Diagrams 2010. Springer, pp. 182-196.
Cesarini, F. and Thompson, S. (2010). Erlang Behaviours: Programming With Process Design Patterns. in: Horváth, Z. án, Plasmeijer, R. and Zóka, V. ória eds. Central European Functional Programming School, CEFP 2009. Springer, pp. 182-196.
Li, H. and Thompson, S. (2009). Testing-framework-aware Refactoring. in: The Third ACM Workshop on Refactoring Tools. Orlando, Florida, pp. 182-196.
Li, H. and Thompson, S. (2009). Clone Detection and Removal for Erlang/OTP within a Refactoring Environment. in: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM'09). Savannah, Georgia, USA.
Li, H. and Thompson, S. (2009). Clone Detection and Removal for Erlang/OTP within a Refactoring Environment. in: Penta, M. D. and Knodel, J. eds. Third International Workshop on Detection of Software Clones. Kaiserslautern, Germany, p. 1pp.
Li, H. and Thompson, S. (2008). Tool Support for Refactoring Functional Programs. in: Partial Evaluation and Program Manipulation. San Francisco, California, USA: Assoc of Computing Machinery.
Delaney, A., Taylor, J. and Thompson, S. (2008). Spider Diagrams of Order and a Hierarchy of Star-Free Regular Languages. in: Stapleton, G., Howse, J. and Lee, J. eds. Diagrammatic Representation and Inference: 5th International Conference, Diagrams 2008, Herrsching, Germany, September 19-21, 2008. pp. 172-187.
Li, H. et al. (2008). Refactoring with Wrangler, updated.
Sultana, N. and Thompson, S. (2008). Mechanical Verification of Refactorings. in: Workshop on Partial Evaluation and Program Manipulation. NY, USA: Assoc of Computing Machinery.
Li, H. et al. (2008). Refactoring with Wrangler, updated: Data and process refactorings, and integration with Eclipse. in: Horváth, Z. án and Teoh, T. eds. Proceedings of the Seventh ACM SIGPLAN Erlang Workshop. NY, USA: ACM Press, p. 12pp.
Li, H. and Thompson, S. (2008). Clone Detection and Removal for Erlang/OTP within a Refactoring Environment. in: Achten, P., Koopman, P. and Morazán, M. T. eds. Draft Proceedings of the Ninth Symposium on Trends in Functional Programming(TFP). The Netherlands.
Sultana, N. and Thompson, S. (2008). A Certified Refactoring Engine. in: Achten, P., Koopman, P. and Morazán, M. T. eds. Draft Proceedings of the Ninth Symposium on Trends in Functional Programming (TFP).
Li, H. and Thompson, S. (2008). Tool Support for Refactoring Functional Programs. in: Dig, D., Fuhrer, R. and Johnson, R. eds. Proceedings of the Second ACM SIGPLAN Workshop on Refactoring Tools. Nashville, Tennessee, USA: Assoc Computing Machinery, p. 4pp.
Laemmel, R., Thompson, S. and Kaiser, M. (2008). Programming errors in traversal programs over structured data. in: Vinju, J. and Johnstone, A. eds. 8th Workshop on Language Description, Tools and Applications. Springer.
Thompson, S., King, P. and Schmitz, P. (2007). Declarative extensions of XML languages. in: King, P. and Simske, S. eds. Proceedings of the 2007 ACM symposium on Document engineering. ACM Press, pp. 89-91.
Brown, C. and Thompson, S. (2007). Refactorings that Split and Merge Programs. in: Draft Proceedings of the 19th International Symposium on Implementation and Application of Functional Languages, IFL 2007. Freiburg, Germany.
Li, H. and Thompson, S. (2007). Testing Erlang Refactorings with QuickCheck. in: the 19th International Symposium on Implementation and Application of Functional Languages, IFL 2007, LNCS. Freiburg, Germany: Springer, pp. 19-36.
Li, H. et al. (2006). Refactoring Erlang Programs. in: The Proceedings of 12th International Erlang/OTP User Conference. Stockholm, Sweden.
Li, H. and Thompson, S. (2006). A Comparative Study of Refactoring Haskell and Erlang Programs. in: Penta, M. D. and Moonen, L. eds. Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2006). Washington DC: IEEE Computer Society, pp. 197-206.
Li, H. and Thompson, S. (2005). Formalisation of Haskell Refactorings. in: van Eekelen, M. and Hammond, K. eds.
Ryder, C. and Thompson, S. (2005). Software Metrics: Measuring Haskell. in: van Eekelen, M. and Hammond, K. eds. Intellect Books.
Patrascoiu, O., Thompson, S. and Rodgers, P. (2005). Tableaux for Diagrammatic Reasoning. in: Cox, P. and Smedley, T. eds. Proceedings of the 2005 International Workshop on Visual Languages and Computing. pp. 279-286.
Stapleton, G. et al. (2005). A New Language for the Visualization of Logic and reasoning. in: Cox, P. and Smedley, T. eds. Proceedings of the 2005 International Workshop on Visual Languages and Computing. pp. 287-292.
Thompson, S. (2004). Refactoring Functional Programs. in: Vene, V. and Uustalu, T. eds. Advanced Functional Programming: 5th International School, AFP 2004. Berlin: Springer Verlag, pp. 331-357.
King, P., Schmitz, P. and Thompson, S. (2004). Behavioural Reactivity and Real Time Programming in XML: Functional Programming meets SMIL animation. in: Vion-Dury, J. -Y. ed. ACM Symposium on Document Engineering 2004. ACM New York, NY, USA, pp. 57-66.
Stapleton, G. et al. (2004). The Expressiveness of Spider Diagrams Augmented with Constants. in: Visual Languages / Human Centered Computing 2004. IEEE, pp. 90-98.
Stapleton, G. et al. (2004). What Can Spider Diagrams Say? in: Blackwell, A., Marriott, K. and Shimojima, A. eds. Diagrammatic Representation and Inference. Springer, pp. 179-186.
Li, H., Reinke, C. and Thompson, S. (2003). Tool Support for Refactoring Functional Programs. in: Jeuring, J. ed. ACM SIGPLAN 2003 Haskell Workshop. pp. 27-38.
Schmitz, P., Thompson, S. and King, P. (2003). Presentation Dynamism in XML. in: Budapest, Hungary: W3C.
Thompson, S. and Reinke, C. (2003). A Case Study in Refactoring Functional Programs. in: Ierusalimschy, R., Figueiredo, L. and Valente, M. T. eds. VII Brazilian Symposium on Programming Languages. pp. 1-16.
Hanus, M., Krishnamurthy, S. and Thompson, S. (2002). Functional and Declarative Programming in Education 2002. in: Functional and Declarative Programming in Education (FDPE02).
Thompson, S. (2001). Logic and Dependent Types in the Aldor Computer Algebra System. in: Kerber, M. and Kohlhase, M. eds. Symbolic Computation and Automated Reasoning. A K Peters, pp. 205-219.
Poll, E. and Thompson, S. (2000). Integrating Computer Algebra and Reasoning through the Type System of Aldor. in: Kirchner, H. élène and Ringeissen, C. eds. 3rd International Workshop on Frontiers of Combining Systems (FroCoS 2000). Springer-Verlag Berlin, pp. 136-150.
Cameron, H. et al. (1998). Synchronization in Multimedia Documents. in: Andre, J. ed. Electronic Publishing 98. Springer, pp. 355-369.
Bowman, H. and Thompson, S. (1998). A Tableaux Method for Interval Temporal Logic with Projection. in: TABLEAUX'98, International Conference on Analytic Tableaux and Related Methods. Springer-Verlag, pp. 108-123.
Barnes, D.J., Fincher, S. and Thompson, S. (1997). Introductory Problem Solving in Computer Science. in: Daughton, G. and Magee, P. eds. 5th Annual Conference on the Teaching of Computing. Centre for Teaching Computing, Dublin City University, Dublin 9, Ireland, pp. 36-39.
Bowman, H. et al. (1997). Specification and Prototyping of Structured Multimedia Documents using Interval Temporal Logic. in: International Conference on Temporal Logic. Kluwer.
Thompson, S. (1997). em Where do I begin? A problem solving approach to teaching functional programming. in: Apt, K., Hartel, P. H. and Klint, P. eds. First International Conference on Declarative Programming Languages in Education. Springer-Verlag.
Thompson, S. (1997). Constructive interval temporal logic in Alf. in: Barringer, H. ed. International Conference on Temporal Logic 1997. Kluwer, pp. 377-390.
Thompson, S. and Hill, S. (1995). Functional programming through the curriculum. in: Hartel, P. H. and Plasmeijer, R. eds. 1st International Symposium on Functional Programming Languages in Education (FPLE 95). Berlin Germany: Springer-Verlag Berlin, pp. 85-102.
Hill, S. and Thompson, S. (1995). Miranda in Isabelle. in: Paulson, L. C. ed. Preceedings of the first Isabelle Users Workshop. pp. 122-135.
Thompson, S. (1992). Are subsets necessary in Martin-Lof type theory? in: Myers Jr, J. P. and O'Donnell, M. J. eds. Springer-Verlag, pp. 46-57.
Monograph
Lamela Seijas, P. et al. (2014). Synapse: automatic behaviour inference and implementation comparison for Erlang. University of Kent.
Lamela Seijas, P., Li, H. and Thompson, S. (2013). Towards Property-Based Testing of RESTful Web Services. School of Computing, University of Kent.
Li, H. and Thompson, S. (2011). A User-extensible Refactoring Tool for Erlang Programs.
Li, H. and Thompson, S. (2011). A Domain-Specific Language for Scripting Refactorings in Erlang.
Li, H. et al. (2009). Improving your test code with Wrangler.
Thompson, S. and King, P. (2007). Declarative Extensions of XML Languages. University of Kent.
Ryder, C. and Thompson, S. (2005). Porting HaRe to the GHC API. Computing Laboratory, University of Kent.
Li, H., Reinke, C. and Thompson, S. (2004). Progress on HaRe: the Haskell Refactorer. kent university.
Thompson, S. and Reinke, C. (2001). Refactoring Functional Programs. Computing Laboratory, University of Kent.
Thompson, S. (2000). Regular Expressions and Automata using Haskell. University of Kent.
Bowman, H. and Thompson, S. (2000). A Complete Axiomatization of Interval Temporal Logic with Projection. University of Kent.
Ryder, C. and Thompson, S. (1999). Aldor meets Haskell. Computing Laboratory, University of Kent.
Poll, E. and Thompson, S. (1999). The Type System of Aldor.
Felleisen, M., Hanus, M. and Thompson, S. (1999). Proceedings of the 1999 Workshop on Functional and Declarative Programming in Education. Rice University.
Thompson, S. (1998). A Functional Reactive Animation of a Lift using Fran. Cambridge University Press .
Poll, E. and Thompson, S. (1998). Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor. Kent University.
Bowman, H. and Thompson, S. (1997). A Tableau Method for Interval Temporal Logic. University of Kent at Canterbury.
Bowman, H. et al. (1997). Mexitl: Multimedia in Executable Interval Temporal Logic. University of Kent.
Thompson, S. (1997). Higher-order + Polymorphic = Reusable. University of Kent.
Telford, A.J. and Thompson, S. (1996). Abstract Interpretation of Constructive Type Theory. UKC.
Thompson, S. (1995). Programming Language Semantics using Miranda. UKC.
Thompson, S. (1995). Regular Expressions and Automata using Miranda. UKC.
Thompson, S. (1992). Formulating Haskell. University of Kent, Canterbury, UK.
Lins, R.D. and Thompson, S. (1990). Implementing SASL using Categorical Multi-combinators. UKC.
Thompson, S. (1987). Interactive Functional Programs: a Method and a Formal Semantics. Computing Laboratory, University of Kent.
Thompson, S. (1986). Proving properties of functions defined on lawful types. Computing Laboratory, University of Kent.
Book section
Thompson, S. (2014). How to stand out digitally. in: Jolly, A. ed. The Growing Business Handbook. Kogan Page, pp. 129-131.
Stapleton, G. et al. (2013). On the Completeness of Spider Diagrams Augmented with Constants. in: Moktefi, A. and Shin, S. -J. eds. Visual Reasoning with Diagrams. Birkhauser, pp. 101-133.
Thompson, S. et al. (2013). On the Completeness of Spider Diagrams Augmented with Constants. in: Moktefi, A. and Shin, S. -J. eds. Visual Reasoning with Diagrams. Birkhaüser, pp. 101-133.
Clear, T. et al. (2011). Cooperative and Work-Integrated Education in Information Technology. in: Coll, R. and Zegwaard, K. eds. Integrated Handbook for Cooperative and Work-Integrated Education. World Associate of Cooperative Education, Inc., pp. 182-196.
Thompson, S. (1999). Proof. in: Hammond, K. and Michaelson, G. eds. Research Directions in Parallel Functional Programming. Springer Verlag, pp. 93-119.
Article
Delaney, A. et al. (2014). A normal form for spider diagrams of order. Journal of Visual Languages and Computing [Online] 25:935-944.
Thompson, S. and Li, H. (2013). Refactoring tools for functional languages. Journal of Functional Programming [Online] 23:293-350.
Boudeville, O. et al. (2013). RELEASE: A High-level Paradigm for Reliable Large-scale Server Software. Trends in Functional Programming [Online] 7829:263-278.
Thompson, S., Laemmel, R. and Kaiser, M. (2013). Programming errors in traversal programs over structured data. Science of Computer Programming [Online].
Griffin, D.K., Mitchell, D. and Thompson, S. (2009). Podcasting by synchronising PowerPoint and voice: What are the pedagogical benefits?. Computers and Education [Online] 53:532-539.
Stapleton, G. et al. (2009). The expressiveness of spider diagrams augmented with constants. Journal of Visual Languages and Computing [Online] 20:30-49.
Thompson, S., King, P. and Cameron, H. (2005). Modelling Reactive Multimedia: Design and Authoring. Multimedia Tools and Applications [Online] 27:23-52.
Li, H., Thompson, S. and Reinke, C. (2005). The Haskell Refactorer, HaRe, and its API Boyland, J. and Hedin, G. örel eds. Electronic Notes in Theoretical Computer Science 141:29-34.
Stapleton, G. et al. (2004). The Expressiveness of Spider Diagrams. Journal of Logic and Computation [Online] 14:857-880.
Bowman, H. et al. (2003). Mexitl: Multimedia in Executable Interval Temporal Logic. Formal Methods in System Design [Online] 22:5-38.
Cameron, H., King, P. and Thompson, S. (2003). Modelling Reactive Multimedia: Events and Behaviours. Multimedia Tools and Applications [Online] 19:53-77.
Bowman, H. and Thompson, S. (2003). A Decision Procedure and Complete Axiomatization of Finite Interval Temporal Logic with Projection. Journal of Logic and Computation [Online] 13:195-239.
Charles, N., Bowman, H. and Thompson, S. (1997). From ACT-ONE to Miranda, a Translation Experiment. Computer Standards and Interfaces [Online] 19:31-49.
Thompson, S. (1995). A Logic for Miranda, Revisited. Formal Aspects of Computing.
Lins, R.D., Thompson, S. and Jones, S.L.P. (1994). On the Equivalence Between CMC and TIM. Journal of Functional Programming [Online] 1.
Thompson, S. and Lins, R.D. (1992). The categorical multi-combinator machine - cmcm. Computer Journal [Online] 35:170-176.
Thompson, S. (1989). A Logic for Miranda. Formal Aspects of Computing.
Book
Thompson, S. (2011). Haskell: the craft of functional programming. [Online]. Addison-Wesley.
Cesarini, F. and Thompson, S. (2009). Erlang Programming. O'Reilly.
Thompson, S. (1999). Haskell: the Craft of Functional Programming. Harlow, UK: Addison-Wesley.
Bowman, H. and Thompson, S. (1998). A tableau method for interval temporal logic with projection. deSwart, H. ed. Springer-Verlag Berlin.
Thompson, S. (1996). Haskell: The Craft of Functional Programming. Addison Wesley.
Thompson, S. (1995). Miranda: The Craft of Functional Programming. Addison Wesley.
Thompson, S. (1991). Type Theory and Functional Programming. [Online]. Addison Wesley.
Other
Cesarini, F. and Thompson, S. (2011). Erlang by Example. [Online]:182-196.
Total publications in KAR: 116 [See all in KAR]

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 06/07/2015