Dr Jeremy Singer
- Reader in Programming Language Implementation (Computing Science)
telephone:
0141 330 3638
email:
jeremy.singer@glasgow.ac.uk
Room S104, School of Computing Science, Sir Alwyn Williams Building, Glasgow G12 8QQ
Biography
I am a Reader in Programming Language Implementation at the School of Computing Science. My particular research focus is on systems software, including virtual machines, system security and programming language runtimes.
Previously, I was a postdoctoral researcher at the University of Manchester, where I worked on Java runtime systems for speculative multicore parallelism. I completed my PhD in 2006 at the University of Cambridge. My thesis topic was Static Program Analysis based on Virtual Register Renaming.
Research interests
Research video: Research overview
Research Interests:
- Memory management
- Garbage collection
- Compilers
- Virtual machines
- Capability-based security
- Software support for manycore parallelism
- Edge computing
Find out more on my personal site.
Publications
2024
Alasmari, O. A. F., Singer, J. and Bikanga Ada, M. (2024) Online Coding Tutorial Systems: A New Category of Programming Learning Platforms. In: 2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC), Osaka, Japan, 02-04 July 2024, pp. 2222-2227. ISBN 9798350376968 (doi: 10.1109/compsac61105.2024.00356)
Alasmari, O. A. F., Singer, J. and Bikanga Ada, M. (2024) Python OCTS: Design, Implementation, and Evaluation of an Online Coding Tutorial System Prototype. In: 2024 IEEE World Engineering Education Conference (EDUNINE), Guatemala City, Guatemala, 10-13 Mar 2024, ISBN 9798350348729 (doi: 10.1109/EDUNINE60625.2024.10500548)
Alasmari, O. A., Singer, J. and Bikanga Ada, M. (2024) Do Current Online Coding Tutorial Systems Address Novice Programmer Difficulties? In: 15th International Conference on Education Technology and Computers (ICETC '23), Barcelona, Spain, 26-28 Sep 2023, pp. 242-248. ISBN 9798400709111 (doi: 10.1145/3629296.3629333)
2023
Lowther, D. , Jacob, D. and Singer, J. (2023) CHERI Performance Enhancement for a Bytecode Interpreter. In: VMIL '23: Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, Cascais, Portugal, 23 October 2023, pp. 1-10. ISBN 9798400704017 (doi: 10.1145/3623507.3623552)
Lowther, D. , Jacob, D. and Singer, J. (2023) Morello MicroPython: A Python Interpreter for CHERI. In: 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023), Cascais, Portugal, 22-27 Oct 2023, pp. 62-69. ISBN 9798400703805 (doi: 10.1145/3617651.3622991)
Ayaz, F. , Zakariyya, I., Cano Reyes, J. , Keoh, S. L. , Singer, J. , Pau, D. and Kharbouche-Harrari, M. (2023) Improving Robustness Against Adversarial Attacks with Deeply Quantized Neural Networks. In: International Joint Conference on Neural Networks (IJCNN 2023), Gold Coast, Australia, 18-23 June 2023, ISBN 9781665488679 (doi: 10.1109/IJCNN54540.2023.10191429)
Singer, J. (2023) Towards Secure MicroPython on Morello (WIP). In: 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23), Orlando, FL, USA, 18 Jun 2023, pp. 134-137. ISBN 9798400701740 (doi: 10.1145/3589610.3596272)
Bramley, J., Jacob, D. , Lascu, A., Singer, J. and Tratt, L. (2023) Picking a CHERI Allocator: Security and Performance Considerations. In: 2023 ACM SIGPLAN International Symposium on Memory Management, Orlando, FL, USA, 18 Jun 2023, pp. 111-123. ISBN 9798400701795 (doi: 10.1145/3591195.3595278)
Lubbers, M., Koopman, P., Ramsingh, A., Singer, J. and Trinder, P. (2023) Could tierless languages reduce IoT development grief? ACM Transactions on Internet of Things, 41(1), 6. (doi: 10.1145/3572901)
2022
Alhaizaey, Y., Singer, J. and Michala, A. L. (2022) Optimizing Heterogeneous Task Allocation for Edge Compute Micro Clusters Using PSO Metaheuristic. In: 2022 Seventh International Conference on Fog and Mobile Edge Computing (FMEC), Paris, France, 12-15 Dec 2022, ISBN 9798350334524 (doi: 10.1109/FMEC57183.2022.10062755)
Singer, J. (2022) Introduction. In: Rastello, F. and Bouchez Tichadou, F. (eds.) SSA-based Compiler Design. Springer: Cham, pp. 3-12. ISBN 9783030805142 (doi: 10.1007/978-3-030-80515-9_1)
Singer, J. and Rastello, F. (2022) Standard construction and destruction algorithms. In: Rastello, F. and Bouchez Tichadou, F. (eds.) SSA-based Compiler Design. Springer: Cham, pp. 23-39. ISBN 9783030805142 (doi: 10.1007/978-3-030-80515-9_3)
Ramsingh, A., Singer, J. and Trinder, P. (2022) Classifying the Reliability of the Microservice Architectures. In: 18th International Conference on Web Information Systems and Technologies (WEBIST 2022), Valletta, Malta, 25-27 October 2022, pp. 21-32. ISBN 9789897586132 (doi: 10.5220/0011381700003318)
Aljabri, J., Michala, A. L. and Singer, J. (2022) ELSA: a keyword-based searchable encryption for cloud-edge assisted industrial internet of things. In: 22nd IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGrid 2022), Taormina (Messina), Italy, 16-19 May 2022, ISBN 9781665499569 (doi: 10.1109/CCGrid54584.2022.00035)
Jacob, D. and Singer, J. (2022) Capability Boehm: Challenges and Opportunities for Garbage Collection with Capability Hardware. In: 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 1 March 2022, pp. 81-87. ISBN 9781450392518 (doi: 10.1145/3516807.3516823)
Aljabri, J., Michala, A. L. and Singer, J. (2022) ELSA: Edge Lightweight Searchable Attribute-based encryption Multi-keyword Scalability. In: 5th IEEE Conference on Dependable and Secure Computing (IEEE DSC 2022), Edinburgh, UK, 22-24 June 2022, ISBN 9781665421416 (doi: 10.1109/DSC54232.2022.9888846)
2021
Bellamy, G. , Brown, R. , Cleland Woods, H. , Labrosse, N. , Senn, H. , Singer, J. and Vezza, M. (2021) Togetherness: the central tenet of an effective institutional online pivot. Journal of Perspectives in Applied Academic Practice, 9(2), pp. 82-90. (doi: 10.14297/jpaap.v9i2.491)
Huser, C. , Campbell, S. , Fontaine, S. , Jamieson, S. , Marks, L., Singer, J. and Young, R. (2021) Lessons learned from early adopters of blended and online learning. Journal of Perspectives in Applied Academic Practice, 9(2), pp. 137-145. (doi: 10.14297/jpaap.v9i2.488)
Alhaizaey, Y., Singer, J. and Michala, A. L. (2021) Optimizing Task Allocation for Edge Micro-Clusters in Smart Cities. 2nd IEEE International Workshop on Smart Computing for Smart Cities (SC2), 07 Jun 2021. pp. 341-347. ISBN 9781665446525 (doi: 10.1109/WoWMoM51794.2021.00062)
2020
Jacob, D. , Trinder, P. and Singer, J. (2020) Pricing Python Parallelism: A Dynamic Language Cost Model for Heterogeneous Platforms. In: 16th ACM SIGPLAN International Symposium on Dynamic Languages, Virtual, USA, 17 Nov 2020, pp. 29-42. ISBN 9781450381758 (doi: 10.1145/3426422.3426979)
Singer, J. (2020) Notes on Notebooks: Is Jupyter the Bringer of Jollity? In: ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Virtual, USA, 18-20 Nov 2020, pp. 180-186. ISBN 9781450381789 (doi: 10.1145/3426428.3426924)
Lubbers, M., Koopman, P., Ramsingh, A., Singer, J. and Trinder, P. (2020) Tiered versus Tierless IoT Stacks: Comparing Smart Campus Software Architectures. In: 10th International Conference on the Internet of Things, Malmö, Sweden, Oct 2020, p. 21. ISBN 9781450387583 (doi: 10.1145/3410992.3411002)
Basford, P. J., Johnston, S. J., Perkins, C. S. , Garnock-Jones, T., Tso, F. P., Pezaros, D. , Mullins, R. D., Yoneki, E., Singer, J. and Cox, S. J. (2020) Performance analysis of single board computer clusters. Future Generation Computer Systems, 102, pp. 278-291. (doi: 10.1016/j.future.2019.07.040)
2019
Cutts, Q. , Barr, M. , Ada, M. B., Donaldson, P. , Draper, S. , Parkinson, J. , Singer, J. and Sundin, L. (2019) Best paper award: Experience report: thinkathon - countering an 'I got it working' mentality with pencil-and-paper exercises. ACM Inroads, 10(4), pp. 66-73. (doi: 10.1145/3368563)
Jacob, D., Trinder, P. and Singer, J. (2019) Python Programmers Have GPUs Too: Automatic Python Loop Parallelization with Staged Dependence Analysis. In: DLS 2019, Athens, Greece, 20-25 Oct 2019, pp. 42-54. ISBN 9781450369961 (doi: 10.1145/3359619.3359743)
Honeychurch, S. , Barr, N. , Singer, J. and Draper, S. (2019) Scaling Assessment with Adaptive Comparative Judgement. Alt Annual Conference 2019, Edinburgh, UK, 3-5 Sept 2019.
Varghese, B. et al. (2019) Cloud futurology. Computer, 52(9), pp. 68-77. (doi: 10.1109/MC.2019.2895307)
Cutts, Q. , Barr, M. , Bikanga Ada, M. , Donaldson, P. , Draper, S. , Parkinson, J. , Singer, J. and Sundin, L. (2019) Experience Report: Thinkathon -- Countering an "I Got It Working" Mentality with Pencil-and-Paper Exercises. In: 24th Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2019), Aberdeen, Scotland, 15-17 Jul 2019, pp. 203-209. ISBN 9781450368957 (doi: 10.1145/3304221.3319785)
Jacob, D. and Singer, J. (2019) ALPyNA: Acceleration of Loops in Python for Novel Architectures. In: 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, Phoenix, AZ, USA, 22 Jun 2019, pp. 25-34. ISBN 9781450367172 (doi: 10.1145/3315454.3329956)
Singer, J. , Honeychurch, S. , Barr, N. and Draper, S. (2019) From a Thousand Learners to a Thousand Markers: Scaling Peer Feedback with Adaptive Comparative Judgement. 12th Annual University of Glasgow Learning and Teaching Conference, Glasgow, UK, 2-3 Apr 2019.
Dale, V. H.M. and Singer, J. (2019) Learner experiences of a blended course incorporating a MOOC on Haskell functional programming. Research in Learning Technology, 27, (doi: 10.25304/rlt.v27.2248)
2018
Johnston, S. J., Basford, P. J., Perkins, C. S. , Herry, H., Tso, F. P., Pezaros, D. , Mullins, R. D., Yoneki, E., Cox, S. J. and Singer, J. (2018) Commodity single board computer clusters and their applications. Future Generation Computer Systems, 89, pp. 201-212. (doi: 10.1016/j.future.2018.06.048)
Cano, J. , White, D. R., Bordallo, A., McCreesh, C. , Michala, A. L. , Singer, J. and Nagarajan, V. (2018) Solving the task variant allocation problem in distributed robotics. Autonomous Robots, 42(7), pp. 1477-1495. (doi: 10.1007/s10514-018-9742-5)
Herry, H., Band, E., Perkins, C. and Singer, J. (2018) Peer-to-Peer Secure Updates for Heterogeneous Edge Devices. In: DOMINO Workshop at the IEEE/IFIP Network Operations and Management Symposium (NOMS 2018), Taipei, Taiwan, 23-27 Apr 2018, ISBN 9781538634165 (doi: 10.1109/NOMS.2018.8406323)
Singer, J. et al. (2018) Next Generation Single Board Clusters. In: IEEE/IFIP Network Operations and Management Symposium (NOMS 2018), Taipei, Taiwan, 23-27 Apr 2018, ISBN 9781538634165 (doi: 10.1109/NOMS.2018.8406120)
Alshammari, D., Singer, J. and Storer, T. (2018) Performance Evaluation of Cloud Computing Simulation Tools. In: IEEE 3rd International Conference on Cloud Computing and Big Data Analysis (ICCCBDA 2018), Chengdu, China, 20-22 Apr 2018, pp. 522-526. ISBN 9781538643013 (doi: 10.1109/ICCCBDA.2018.8386571)
Singer, J. and Archibald, B. (2018) Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers. Electronic Proceedings in Theoretical Computer Science, 270, pp. 37-51. (doi: 10.4204/EPTCS.270.3)
Singer, J. , Perkins, C. and Herry, H. (2018) Does Disaggregrated Compute Require a New Programming Paradigm? 20th Workshop on Compilers for Parallel Computing, Dublin, 16-18 Apr 2018. (Unpublished)
Singer, J. , Dale, V. , Vanderbauwhede, W. , Barr, N. and Sim, A. (2018) Designing and Evaluating a Blended Course which Includes a MOOC [lightning talk]. 11th Annual Learning and Teaching Conference, Glasgow, UK, 28-29 Mar 2018.
Singer, J. and Dale, V. (2018) A Blended Course That Includes a FutureLearn MOOC: Learner and Teacher Experiences. FutureLearn Academic Network (FLAN) Meeting, Exeter, UK, 28 Feb 2018.
Band, E., Herry, H., Perkins, C. and Singer, J. (2018) Peer to Peer Secure Update for Heterogeneous Edge Devices (Extended Abstract). Proceedings of the HiPEAC Workshop on Heterogeneous and Low-Power Data Center Technologies, Manchester, UK, 23 Jan 2018.
2017
Alshammari, D., Singer, J. and Storer, T. (2017) Does CloudSim Accurately Model Micro Datacenters? In: IEEE International Conference on Cloud Computing (IEEE CLOUD 2017), Honolulu, HI, USA, 25-30 June 2017, pp. 705-709. (doi: 10.1109/CLOUD.2017.97)
2016
Barr, N. and Singer, J. (2016) Solutions to Three Language Workbench Challenges using Wizards Workbench. ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH 2016), Amsterdam, The Netherlands, 30 Oct - 4 Nov 2016.
Hentschel, K., Jacob, D., Singer, J. and Chalmers, M. (2016) Supersensors: Raspberry Pi Devices for Smart Campus Infrastructure. In: FiCloud 2016: 2016 IEEE 4th International Conference on Future Internet of Things and Cloud, Vienna, Austria, 22-24 Aug 2016, pp. 58-62. (doi: 10.1109/FiCloud.2016.16)
Cano, J. , White, D. R., Bordallo, A., McCreesh, C., Prosser, P. , Singer, J. and Nagarajan, V. (2016) Task Variant Allocation in Distributed Robotics. In: Robotics Science and Systems 2016, Ann Arbor, MI, USA, 18-22 June 2016, ISBN 9780992374723 (doi: 10.15607/RSS.2016.XII.045)
Alnowaiser, K. and Singer, J. (2016) Topology-aware parallelism for NUMA copying collectors. Lecture Notes in Computer Science, 9519, pp. 191-205. (doi: 10.1007/978-3-319-29778-1_12)
2015
Singer, J. , Adhami, A. and Perkins, C. (2015) Towards Free Market Cloud Computing. In: IEEE International Conference on the International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing, Liverpool, UK, 26-28 Oct 2015, pp. 1544-1547. ISBN 9781509001538 (doi: 10.1109/CIT/IUCC/DASC/PICOM.2015.232)
Simons, C., Singer, J. and White, D. R. (2015) Search-based refactoring: metrics are not enough. Lecture Notes in Computer Science, 9275, pp. 47-61. (doi: 10.1007/978-3-319-22183-0_4)
Cameron, C. , Singer, J. and Vengerov, D. (2015) The Judgment of Forseti: Economic Utility for Dynamic Heap Sizing of Multiple Runtimes. In: International Symposium on Memory Management, Portland, OR, USA, 14 June 2015, pp. 143-156. ISBN 9781450335898 (doi: 10.1145/2754169.2754180)
Singer, J. and White, D. R. (2015) Evaluating Lossy Collections for Java Applications. In: Workshop on Approximate Computing Across the System Stack (WACAS 2015), Istanbul, Turkey, 15 March 2015,
White, D. R. and Singer, J. (2015) Rethinking Genetic Improvement Programming. In: GECCO 2015, Madrid, Spain, 11-15 July 2015, pp. 845-846. ISBN 9781450334884 (doi: 10.1145/2739482.2768426)
White, D. R., Yoo, S. and Singer, J. (2015) The Programming Game: Evaluating MCTS as an Alternative to GP for Symbolic Regression. In: GECCO 2015, Madrid, Spain, 11-15 July 2015, pp. 1521-1522. (doi: 10.1145/2739482.2764655)
2014
Cameron, C. and Singer, J. (2014) We are all economists now: economic utility for multiple heap sizing. In: 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE, Uppsala, Sweden, 28 Jul - 1 Aug 2014, pp. 1-10. ISBN 9781450329149 (doi: 10.1145/2633301.2633304)
Singer, J. , Cameron, C. and Alexander, M. (2014) Programming Language Feature Agglomeration. In: Workshop on Programming Language Evolution 2014 (PLE14), Uppsala, Sweden, 28 Jul 2014, pp. 11-15. ISBN 9781450328876 (doi: 10.1145/2717124.2717128)
2013
Harman, M., Lakhotia, K., Singer, J. , White, D. and Shin, Y. (2013) Cloud engineering is search based software engineering too. Journal of Systems and Software, 86(9), pp. 2225-2241. (doi: 10.1016/j.jss.2012.10.027)
Loidl, H.-W. and Singer, J. (2013) SICSA multicore challenge editorial preface. Concurrency and Computation: Practice and Experience, 26(4), pp. 929-934. (doi: 10.1002/cpe.3077)
Li, W.H., White, D.R. and Singer, J. (2013) JVM-hosted languages: They talk the talk, but do they walk the walk? In: 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, New York, New York, USA, 11-13 Sept 2013, pp. 101-112. (doi: 10.1145/2500828.2500838)
Simao, J., Singer, J. and Veiga, L. (2013) A comparative look at adaptive memory management in virtual machines. In: IEEE 5th International Conference on Cloud Computing Technology and Science (CloudCom), Bristol, UK, 2-5 Dec 2013, pp. 452-457. (doi: 10.1109/CloudCom.2013.66)
Tso, F.P., White, D.R., Jouet, S., Singer, J. and Pezaros, D.P. (2013) The Glasgow raspberry pi cloud: a scale model for cloud computing infrastructures. In: First International Workshop on Resource Management of Cloud Computing (CCRM), Philadelphia, PA, USA, 8-11 Jul 2013, pp. 108-112. (doi: 10.1109/ICDCSW.2013.25)
White, D.R., Singer, J. , Aitken, J.M. and Jones, R.E. (2013) Control theory for principled heap sizing. In: ISMM '13, International Symposium on Memory Management, Seattle, WA, USA, 20 Jun 2013, pp. 27-38. (doi: 10.1145/2555670.2466481)
2012
White, D.R., Singer, J. , Aitken, J.M. and Matthews, D. (2012) Automated heap sizing in the poly/ML runtime. In: 2012 Symposium on Trends in Functional Programming, St. Andrews, Scotland, 12-14 Jun 2012,
2011
Singer, J. , Kovoor, G., Brown, G. and Lujan, M. (2011) Garbage collection auto-tuning for Java MapReduce on Multi-Cores. In: ISMM '11 International Symposium on Memory Management, San Jose, CA, USA, 4-5 June, 2011, pp. 109-118. (doi: 10.1145/1993478.1993495)
Singer, J. (2011) A literate experimentation manifesto. In: Visser, E. and Hirschfeld, R. (eds.) Proceedings of the 10th SIGPLAN symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2011). ACM: New York, NY, pp. 91-102. ISBN 9781450309417 (doi: 10.1145/2048237.2048249)
Singer, J. and Jones, R.E. (2011) Economic theory for memory management optimization. In: Rogers, I., Jul, E. and Zendra, O. (eds.) Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS '11). ACM: New York. NY, pp. 1-4. ISBN 9781450308946 (doi: 10.1145/2069172.2069176)
2010
Ioannou, N., Singer, J. , Khan, S., Xekalakis, P., Yiapanis, P., Pocock, A., Brown, G., Lujan, M., Watson, I. and Cintra, M. (2010) Toward a more accurate understanding of the limits of the TLS execution paradigm. In: IEEE International Symposium on Workload Characterization, pp. 1-12. (doi: 10.1109/IISWC.2010.5649169)
Singer, J. , Brown, G., Lujan, M., Pocock, A. and Yiapanis, P. (2010) Fundamental nano-patterns to characterize and classify java methods. Electronic Notes in Theoretical Computer Science, 253(7), pp. 191-204. (doi: 10.1016/j.entcs.2010.08.042)
Singer, J. , Jones, R., Brown, G. and Lujan, M. (2010) The economics of garbage collection. In: International Symposium on Memory Management, Toronto, ON, June 2010, pp. 103-112. (doi: 10.1145/1806651.1806669)
Pocock, A., Yiapanis, P., Singer, J. , Luján, M. and Brown, G. (2010) Online non-stationary boosting. Lecture Notes in Computer Science, 5997, pp. 205-214. (doi: 10.1007/978-3-642-12127-2_21)
2008
Singer, J. and Kirkham, C. (2008) Dynamic analysis of Java program concepts for visualization and profiling. Science of Computer Programming, 70(2-3), pp. 111-126. (doi: 10.1016/j.scico.2007.07.006)
Singer, J. and Kirkham, C. (2008) Exploiting the correspondence between micro patterns and class names. In: Eighth IEEE International Working Conference on Source Code Analysis and Manipulation, Beijing, China, 28-29 Sep 2008, pp. 67-76. ISBN 9780769533537 (doi: 10.1109/SCAM.2008.23)
Articles
Lubbers, M., Koopman, P., Ramsingh, A., Singer, J. and Trinder, P. (2023) Could tierless languages reduce IoT development grief? ACM Transactions on Internet of Things, 41(1), 6. (doi: 10.1145/3572901)
Bellamy, G. , Brown, R. , Cleland Woods, H. , Labrosse, N. , Senn, H. , Singer, J. and Vezza, M. (2021) Togetherness: the central tenet of an effective institutional online pivot. Journal of Perspectives in Applied Academic Practice, 9(2), pp. 82-90. (doi: 10.14297/jpaap.v9i2.491)
Huser, C. , Campbell, S. , Fontaine, S. , Jamieson, S. , Marks, L., Singer, J. and Young, R. (2021) Lessons learned from early adopters of blended and online learning. Journal of Perspectives in Applied Academic Practice, 9(2), pp. 137-145. (doi: 10.14297/jpaap.v9i2.488)
Basford, P. J., Johnston, S. J., Perkins, C. S. , Garnock-Jones, T., Tso, F. P., Pezaros, D. , Mullins, R. D., Yoneki, E., Singer, J. and Cox, S. J. (2020) Performance analysis of single board computer clusters. Future Generation Computer Systems, 102, pp. 278-291. (doi: 10.1016/j.future.2019.07.040)
Cutts, Q. , Barr, M. , Ada, M. B., Donaldson, P. , Draper, S. , Parkinson, J. , Singer, J. and Sundin, L. (2019) Best paper award: Experience report: thinkathon - countering an 'I got it working' mentality with pencil-and-paper exercises. ACM Inroads, 10(4), pp. 66-73. (doi: 10.1145/3368563)
Varghese, B. et al. (2019) Cloud futurology. Computer, 52(9), pp. 68-77. (doi: 10.1109/MC.2019.2895307)
Dale, V. H.M. and Singer, J. (2019) Learner experiences of a blended course incorporating a MOOC on Haskell functional programming. Research in Learning Technology, 27, (doi: 10.25304/rlt.v27.2248)
Johnston, S. J., Basford, P. J., Perkins, C. S. , Herry, H., Tso, F. P., Pezaros, D. , Mullins, R. D., Yoneki, E., Cox, S. J. and Singer, J. (2018) Commodity single board computer clusters and their applications. Future Generation Computer Systems, 89, pp. 201-212. (doi: 10.1016/j.future.2018.06.048)
Cano, J. , White, D. R., Bordallo, A., McCreesh, C. , Michala, A. L. , Singer, J. and Nagarajan, V. (2018) Solving the task variant allocation problem in distributed robotics. Autonomous Robots, 42(7), pp. 1477-1495. (doi: 10.1007/s10514-018-9742-5)
Singer, J. and Archibald, B. (2018) Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers. Electronic Proceedings in Theoretical Computer Science, 270, pp. 37-51. (doi: 10.4204/EPTCS.270.3)
Alnowaiser, K. and Singer, J. (2016) Topology-aware parallelism for NUMA copying collectors. Lecture Notes in Computer Science, 9519, pp. 191-205. (doi: 10.1007/978-3-319-29778-1_12)
Simons, C., Singer, J. and White, D. R. (2015) Search-based refactoring: metrics are not enough. Lecture Notes in Computer Science, 9275, pp. 47-61. (doi: 10.1007/978-3-319-22183-0_4)
Harman, M., Lakhotia, K., Singer, J. , White, D. and Shin, Y. (2013) Cloud engineering is search based software engineering too. Journal of Systems and Software, 86(9), pp. 2225-2241. (doi: 10.1016/j.jss.2012.10.027)
Loidl, H.-W. and Singer, J. (2013) SICSA multicore challenge editorial preface. Concurrency and Computation: Practice and Experience, 26(4), pp. 929-934. (doi: 10.1002/cpe.3077)
Singer, J. , Brown, G., Lujan, M., Pocock, A. and Yiapanis, P. (2010) Fundamental nano-patterns to characterize and classify java methods. Electronic Notes in Theoretical Computer Science, 253(7), pp. 191-204. (doi: 10.1016/j.entcs.2010.08.042)
Pocock, A., Yiapanis, P., Singer, J. , Luján, M. and Brown, G. (2010) Online non-stationary boosting. Lecture Notes in Computer Science, 5997, pp. 205-214. (doi: 10.1007/978-3-642-12127-2_21)
Singer, J. and Kirkham, C. (2008) Dynamic analysis of Java program concepts for visualization and profiling. Science of Computer Programming, 70(2-3), pp. 111-126. (doi: 10.1016/j.scico.2007.07.006)
Book Sections
Singer, J. (2022) Introduction. In: Rastello, F. and Bouchez Tichadou, F. (eds.) SSA-based Compiler Design. Springer: Cham, pp. 3-12. ISBN 9783030805142 (doi: 10.1007/978-3-030-80515-9_1)
Singer, J. and Rastello, F. (2022) Standard construction and destruction algorithms. In: Rastello, F. and Bouchez Tichadou, F. (eds.) SSA-based Compiler Design. Springer: Cham, pp. 23-39. ISBN 9783030805142 (doi: 10.1007/978-3-030-80515-9_3)
Singer, J. (2011) A literate experimentation manifesto. In: Visser, E. and Hirschfeld, R. (eds.) Proceedings of the 10th SIGPLAN symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2011). ACM: New York, NY, pp. 91-102. ISBN 9781450309417 (doi: 10.1145/2048237.2048249)
Singer, J. and Jones, R.E. (2011) Economic theory for memory management optimization. In: Rogers, I., Jul, E. and Zendra, O. (eds.) Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS '11). ACM: New York. NY, pp. 1-4. ISBN 9781450308946 (doi: 10.1145/2069172.2069176)
Conference or Workshop Item
Alhaizaey, Y., Singer, J. and Michala, A. L. (2021) Optimizing Task Allocation for Edge Micro-Clusters in Smart Cities. 2nd IEEE International Workshop on Smart Computing for Smart Cities (SC2), 07 Jun 2021. pp. 341-347. ISBN 9781665446525 (doi: 10.1109/WoWMoM51794.2021.00062)
Honeychurch, S. , Barr, N. , Singer, J. and Draper, S. (2019) Scaling Assessment with Adaptive Comparative Judgement. Alt Annual Conference 2019, Edinburgh, UK, 3-5 Sept 2019.
Singer, J. , Honeychurch, S. , Barr, N. and Draper, S. (2019) From a Thousand Learners to a Thousand Markers: Scaling Peer Feedback with Adaptive Comparative Judgement. 12th Annual University of Glasgow Learning and Teaching Conference, Glasgow, UK, 2-3 Apr 2019.
Singer, J. , Perkins, C. and Herry, H. (2018) Does Disaggregrated Compute Require a New Programming Paradigm? 20th Workshop on Compilers for Parallel Computing, Dublin, 16-18 Apr 2018. (Unpublished)
Singer, J. , Dale, V. , Vanderbauwhede, W. , Barr, N. and Sim, A. (2018) Designing and Evaluating a Blended Course which Includes a MOOC [lightning talk]. 11th Annual Learning and Teaching Conference, Glasgow, UK, 28-29 Mar 2018.
Singer, J. and Dale, V. (2018) A Blended Course That Includes a FutureLearn MOOC: Learner and Teacher Experiences. FutureLearn Academic Network (FLAN) Meeting, Exeter, UK, 28 Feb 2018.
Band, E., Herry, H., Perkins, C. and Singer, J. (2018) Peer to Peer Secure Update for Heterogeneous Edge Devices (Extended Abstract). Proceedings of the HiPEAC Workshop on Heterogeneous and Low-Power Data Center Technologies, Manchester, UK, 23 Jan 2018.
Barr, N. and Singer, J. (2016) Solutions to Three Language Workbench Challenges using Wizards Workbench. ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH 2016), Amsterdam, The Netherlands, 30 Oct - 4 Nov 2016.
Conference Proceedings
Alasmari, O. A. F., Singer, J. and Bikanga Ada, M. (2024) Online Coding Tutorial Systems: A New Category of Programming Learning Platforms. In: 2024 IEEE 48th Annual Computers, Software, and Applications Conference (COMPSAC), Osaka, Japan, 02-04 July 2024, pp. 2222-2227. ISBN 9798350376968 (doi: 10.1109/compsac61105.2024.00356)
Alasmari, O. A. F., Singer, J. and Bikanga Ada, M. (2024) Python OCTS: Design, Implementation, and Evaluation of an Online Coding Tutorial System Prototype. In: 2024 IEEE World Engineering Education Conference (EDUNINE), Guatemala City, Guatemala, 10-13 Mar 2024, ISBN 9798350348729 (doi: 10.1109/EDUNINE60625.2024.10500548)
Alasmari, O. A., Singer, J. and Bikanga Ada, M. (2024) Do Current Online Coding Tutorial Systems Address Novice Programmer Difficulties? In: 15th International Conference on Education Technology and Computers (ICETC '23), Barcelona, Spain, 26-28 Sep 2023, pp. 242-248. ISBN 9798400709111 (doi: 10.1145/3629296.3629333)
Lowther, D. , Jacob, D. and Singer, J. (2023) CHERI Performance Enhancement for a Bytecode Interpreter. In: VMIL '23: Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, Cascais, Portugal, 23 October 2023, pp. 1-10. ISBN 9798400704017 (doi: 10.1145/3623507.3623552)
Lowther, D. , Jacob, D. and Singer, J. (2023) Morello MicroPython: A Python Interpreter for CHERI. In: 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023), Cascais, Portugal, 22-27 Oct 2023, pp. 62-69. ISBN 9798400703805 (doi: 10.1145/3617651.3622991)
Ayaz, F. , Zakariyya, I., Cano Reyes, J. , Keoh, S. L. , Singer, J. , Pau, D. and Kharbouche-Harrari, M. (2023) Improving Robustness Against Adversarial Attacks with Deeply Quantized Neural Networks. In: International Joint Conference on Neural Networks (IJCNN 2023), Gold Coast, Australia, 18-23 June 2023, ISBN 9781665488679 (doi: 10.1109/IJCNN54540.2023.10191429)
Singer, J. (2023) Towards Secure MicroPython on Morello (WIP). In: 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23), Orlando, FL, USA, 18 Jun 2023, pp. 134-137. ISBN 9798400701740 (doi: 10.1145/3589610.3596272)
Bramley, J., Jacob, D. , Lascu, A., Singer, J. and Tratt, L. (2023) Picking a CHERI Allocator: Security and Performance Considerations. In: 2023 ACM SIGPLAN International Symposium on Memory Management, Orlando, FL, USA, 18 Jun 2023, pp. 111-123. ISBN 9798400701795 (doi: 10.1145/3591195.3595278)
Alhaizaey, Y., Singer, J. and Michala, A. L. (2022) Optimizing Heterogeneous Task Allocation for Edge Compute Micro Clusters Using PSO Metaheuristic. In: 2022 Seventh International Conference on Fog and Mobile Edge Computing (FMEC), Paris, France, 12-15 Dec 2022, ISBN 9798350334524 (doi: 10.1109/FMEC57183.2022.10062755)
Ramsingh, A., Singer, J. and Trinder, P. (2022) Classifying the Reliability of the Microservice Architectures. In: 18th International Conference on Web Information Systems and Technologies (WEBIST 2022), Valletta, Malta, 25-27 October 2022, pp. 21-32. ISBN 9789897586132 (doi: 10.5220/0011381700003318)
Aljabri, J., Michala, A. L. and Singer, J. (2022) ELSA: a keyword-based searchable encryption for cloud-edge assisted industrial internet of things. In: 22nd IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGrid 2022), Taormina (Messina), Italy, 16-19 May 2022, ISBN 9781665499569 (doi: 10.1109/CCGrid54584.2022.00035)
Jacob, D. and Singer, J. (2022) Capability Boehm: Challenges and Opportunities for Garbage Collection with Capability Hardware. In: 18th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 1 March 2022, pp. 81-87. ISBN 9781450392518 (doi: 10.1145/3516807.3516823)
Aljabri, J., Michala, A. L. and Singer, J. (2022) ELSA: Edge Lightweight Searchable Attribute-based encryption Multi-keyword Scalability. In: 5th IEEE Conference on Dependable and Secure Computing (IEEE DSC 2022), Edinburgh, UK, 22-24 June 2022, ISBN 9781665421416 (doi: 10.1109/DSC54232.2022.9888846)
Jacob, D. , Trinder, P. and Singer, J. (2020) Pricing Python Parallelism: A Dynamic Language Cost Model for Heterogeneous Platforms. In: 16th ACM SIGPLAN International Symposium on Dynamic Languages, Virtual, USA, 17 Nov 2020, pp. 29-42. ISBN 9781450381758 (doi: 10.1145/3426422.3426979)
Singer, J. (2020) Notes on Notebooks: Is Jupyter the Bringer of Jollity? In: ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Virtual, USA, 18-20 Nov 2020, pp. 180-186. ISBN 9781450381789 (doi: 10.1145/3426428.3426924)
Lubbers, M., Koopman, P., Ramsingh, A., Singer, J. and Trinder, P. (2020) Tiered versus Tierless IoT Stacks: Comparing Smart Campus Software Architectures. In: 10th International Conference on the Internet of Things, Malmö, Sweden, Oct 2020, p. 21. ISBN 9781450387583 (doi: 10.1145/3410992.3411002)
Jacob, D., Trinder, P. and Singer, J. (2019) Python Programmers Have GPUs Too: Automatic Python Loop Parallelization with Staged Dependence Analysis. In: DLS 2019, Athens, Greece, 20-25 Oct 2019, pp. 42-54. ISBN 9781450369961 (doi: 10.1145/3359619.3359743)
Cutts, Q. , Barr, M. , Bikanga Ada, M. , Donaldson, P. , Draper, S. , Parkinson, J. , Singer, J. and Sundin, L. (2019) Experience Report: Thinkathon -- Countering an "I Got It Working" Mentality with Pencil-and-Paper Exercises. In: 24th Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2019), Aberdeen, Scotland, 15-17 Jul 2019, pp. 203-209. ISBN 9781450368957 (doi: 10.1145/3304221.3319785)
Jacob, D. and Singer, J. (2019) ALPyNA: Acceleration of Loops in Python for Novel Architectures. In: 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, Phoenix, AZ, USA, 22 Jun 2019, pp. 25-34. ISBN 9781450367172 (doi: 10.1145/3315454.3329956)
Herry, H., Band, E., Perkins, C. and Singer, J. (2018) Peer-to-Peer Secure Updates for Heterogeneous Edge Devices. In: DOMINO Workshop at the IEEE/IFIP Network Operations and Management Symposium (NOMS 2018), Taipei, Taiwan, 23-27 Apr 2018, ISBN 9781538634165 (doi: 10.1109/NOMS.2018.8406323)
Singer, J. et al. (2018) Next Generation Single Board Clusters. In: IEEE/IFIP Network Operations and Management Symposium (NOMS 2018), Taipei, Taiwan, 23-27 Apr 2018, ISBN 9781538634165 (doi: 10.1109/NOMS.2018.8406120)
Alshammari, D., Singer, J. and Storer, T. (2018) Performance Evaluation of Cloud Computing Simulation Tools. In: IEEE 3rd International Conference on Cloud Computing and Big Data Analysis (ICCCBDA 2018), Chengdu, China, 20-22 Apr 2018, pp. 522-526. ISBN 9781538643013 (doi: 10.1109/ICCCBDA.2018.8386571)
Alshammari, D., Singer, J. and Storer, T. (2017) Does CloudSim Accurately Model Micro Datacenters? In: IEEE International Conference on Cloud Computing (IEEE CLOUD 2017), Honolulu, HI, USA, 25-30 June 2017, pp. 705-709. (doi: 10.1109/CLOUD.2017.97)
Hentschel, K., Jacob, D., Singer, J. and Chalmers, M. (2016) Supersensors: Raspberry Pi Devices for Smart Campus Infrastructure. In: FiCloud 2016: 2016 IEEE 4th International Conference on Future Internet of Things and Cloud, Vienna, Austria, 22-24 Aug 2016, pp. 58-62. (doi: 10.1109/FiCloud.2016.16)
Cano, J. , White, D. R., Bordallo, A., McCreesh, C., Prosser, P. , Singer, J. and Nagarajan, V. (2016) Task Variant Allocation in Distributed Robotics. In: Robotics Science and Systems 2016, Ann Arbor, MI, USA, 18-22 June 2016, ISBN 9780992374723 (doi: 10.15607/RSS.2016.XII.045)
Singer, J. , Adhami, A. and Perkins, C. (2015) Towards Free Market Cloud Computing. In: IEEE International Conference on the International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing, Liverpool, UK, 26-28 Oct 2015, pp. 1544-1547. ISBN 9781509001538 (doi: 10.1109/CIT/IUCC/DASC/PICOM.2015.232)
Cameron, C. , Singer, J. and Vengerov, D. (2015) The Judgment of Forseti: Economic Utility for Dynamic Heap Sizing of Multiple Runtimes. In: International Symposium on Memory Management, Portland, OR, USA, 14 June 2015, pp. 143-156. ISBN 9781450335898 (doi: 10.1145/2754169.2754180)
Singer, J. and White, D. R. (2015) Evaluating Lossy Collections for Java Applications. In: Workshop on Approximate Computing Across the System Stack (WACAS 2015), Istanbul, Turkey, 15 March 2015,
White, D. R. and Singer, J. (2015) Rethinking Genetic Improvement Programming. In: GECCO 2015, Madrid, Spain, 11-15 July 2015, pp. 845-846. ISBN 9781450334884 (doi: 10.1145/2739482.2768426)
White, D. R., Yoo, S. and Singer, J. (2015) The Programming Game: Evaluating MCTS as an Alternative to GP for Symbolic Regression. In: GECCO 2015, Madrid, Spain, 11-15 July 2015, pp. 1521-1522. (doi: 10.1145/2739482.2764655)
Cameron, C. and Singer, J. (2014) We are all economists now: economic utility for multiple heap sizing. In: 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE, Uppsala, Sweden, 28 Jul - 1 Aug 2014, pp. 1-10. ISBN 9781450329149 (doi: 10.1145/2633301.2633304)
Singer, J. , Cameron, C. and Alexander, M. (2014) Programming Language Feature Agglomeration. In: Workshop on Programming Language Evolution 2014 (PLE14), Uppsala, Sweden, 28 Jul 2014, pp. 11-15. ISBN 9781450328876 (doi: 10.1145/2717124.2717128)
Li, W.H., White, D.R. and Singer, J. (2013) JVM-hosted languages: They talk the talk, but do they walk the walk? In: 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, New York, New York, USA, 11-13 Sept 2013, pp. 101-112. (doi: 10.1145/2500828.2500838)
Simao, J., Singer, J. and Veiga, L. (2013) A comparative look at adaptive memory management in virtual machines. In: IEEE 5th International Conference on Cloud Computing Technology and Science (CloudCom), Bristol, UK, 2-5 Dec 2013, pp. 452-457. (doi: 10.1109/CloudCom.2013.66)
Tso, F.P., White, D.R., Jouet, S., Singer, J. and Pezaros, D.P. (2013) The Glasgow raspberry pi cloud: a scale model for cloud computing infrastructures. In: First International Workshop on Resource Management of Cloud Computing (CCRM), Philadelphia, PA, USA, 8-11 Jul 2013, pp. 108-112. (doi: 10.1109/ICDCSW.2013.25)
White, D.R., Singer, J. , Aitken, J.M. and Jones, R.E. (2013) Control theory for principled heap sizing. In: ISMM '13, International Symposium on Memory Management, Seattle, WA, USA, 20 Jun 2013, pp. 27-38. (doi: 10.1145/2555670.2466481)
White, D.R., Singer, J. , Aitken, J.M. and Matthews, D. (2012) Automated heap sizing in the poly/ML runtime. In: 2012 Symposium on Trends in Functional Programming, St. Andrews, Scotland, 12-14 Jun 2012,
Singer, J. , Kovoor, G., Brown, G. and Lujan, M. (2011) Garbage collection auto-tuning for Java MapReduce on Multi-Cores. In: ISMM '11 International Symposium on Memory Management, San Jose, CA, USA, 4-5 June, 2011, pp. 109-118. (doi: 10.1145/1993478.1993495)
Ioannou, N., Singer, J. , Khan, S., Xekalakis, P., Yiapanis, P., Pocock, A., Brown, G., Lujan, M., Watson, I. and Cintra, M. (2010) Toward a more accurate understanding of the limits of the TLS execution paradigm. In: IEEE International Symposium on Workload Characterization, pp. 1-12. (doi: 10.1109/IISWC.2010.5649169)
Singer, J. , Jones, R., Brown, G. and Lujan, M. (2010) The economics of garbage collection. In: International Symposium on Memory Management, Toronto, ON, June 2010, pp. 103-112. (doi: 10.1145/1806651.1806669)
Singer, J. and Kirkham, C. (2008) Exploiting the correspondence between micro patterns and class names. In: Eighth IEEE International Working Conference on Source Code Analysis and Manipulation, Beijing, China, 28-29 Sep 2008, pp. 67-76. ISBN 9780769533537 (doi: 10.1109/SCAM.2008.23)
Grants
- AnyScale Apps, 2013-17, funded by EPSRC
- MaRIONet: Manycore Research Innovation and Opportunities Network, 2016-19, funded by EPSRC
- FRuIT: Federated Raspberry Pi Micro-Infrastructure Testbed, 2017-2019, funded by EPSRC
- CapableVMs, 2020-24, funded by EPSRC
- Capabilities for Coders, 2022-23, funded by EPSRC
Supervision
- Feng, Kai
Early detection of zero-day exploits in Industrial Control Systems. - Qin, Yuxin
WebAssembly for Compute at the Edge - Tan, Zhuoran
Cyber Attack Chain Analysis with Federated Graph Neural Network - Varley, Charles
Reflective Metaprogramming for In-Network Computation - Wan, Yuting
CDN and MEC Inspired Adaptive Control Plane for Autonomous Operation
Teaching
- Computational Thinking COMPSCI1016
- A CS0 style course for Level 1 students with no prior coding experience. We use the Python programming language.
- Functional Programming COMPSCI4021
- An elective course for Honours students. We use the Haskell programming language.