About Me

I am a Professor in the School of Informatics at the University of Edinburgh, where I am a member of the Institute for Computing Systems Architecture, the Compiler and Architecture Design (CArD) group, the ARM Centre of Excellence and the Edinburgh Huawei Lab.

Working with me

If you are interested in working with me, e.g. as PhD or MRes student, please get in touch. I currently have a number of fully funded PhD places available!

New PhD studentship available in the area of Principled, Retargetable, Ultra-High Performance Automated ISA Testing! Please get in touch if you are interested in exciting research on the edge of software testing/fuzzing, security, computer architecture, and simulation!

Research interests

I am broadly interested in software transformation, mostly for performance optimisation and parallelisation, but I have also looked at various techniques to e.g. reduce code size on embedded processors. Many transformations a compiler can apply are closely coupled to some kind of analysis determining whether the transformation is safe, i.e. it doesn’t break the program, and profitable, i.e. the program runs faster as a result of applying the transformation. Static analyses, which do not execute the program, but reason about it using some fancy maths, are often conservative and return statements such as “don’t know” or “maybe”. Obviously, this is not helpful for program transformation. Instead, we could either improve static analyses, but this is tricky (and often in fact intractable), or we could incorporate dynamic information obtained from actually running the program. And this is what I am interested in! Of course, there are lots of interesting problems to solve, e.g. how can we make this dynamic analysis safe and make sure we don’t miss some corner case, or how do we make it fast as we don’t want to spend a lot of time analysing the program at runtime when all we want to do is to actually reduce the program’s execution time.

All of this has a number of applications, for example to drive better code optimisations applied by a compiler, to enable more aggressive parallelisation of sequential legacy code or to improve performance of just-in-time compilers in dynamic binary translators (also known as instruction set simulators or emulators).

PhD Studentships

The School has a number of competitive studentships for PhD study. I am interested in taking on PhD students to work on the following areas:

  • Dynamic Program Analysis and Transformation, including (Semi-)Automatic Parallelisation of Legacy Applications, and Identification of Structured Parallelism, including Algorithmic Skeletons
  • Code Generation and Optimisation, especially for Embedded Platforms
  • Just-in-Time Compilation
  • Instruction Set Simulation, including Dynamic Binary Translation and Full-System Simulation
  • Performance Estimation in Simulators
  • Hardware/Software Design Space Exploration

Please do contact me for further information on any of these areas. If you are sending me an informal enquiry, please put the term “PhD Application” in the title of the email. Please also include a CV and a brief statement of research interest. Informal enquiries do not constitute an application, and I ignore all unpersonalised emails (if you are serious about a PhD, you send individual enquiries not mass mailed ones). To apply you should use the usual University of Edinburgh application. However I do recommend that you back up any application with an informal enquiry. January 1 is considered to be a first cutoff for applications. Though I do accept applications after that date, I do recommend you try to apply before that date if you can as it makes it easier to get funding.

Accessibility

I want everyone who visits my website to feel welcome and find the experience rewarding. Please check this Accessibility Statement.

Research Group

Virtually all my work is the result of a collaborative group effort and would not be possible without the various people working with me. This includes mostly PhD students and Post-Doctoral Researchers, but also MSc and undergraduate students and colleagues across ICSA.

PostDocs and Students

PhD Students

  • Kimberley Stonehouse – JIT Compilation as a Service
  • Amir Khordadi – JIT Compilation as a Service
  • Zhibo Li – Data-Centric Parallelisation
  • Martin Kristien – Multi-Core Processor Simulation

Former PostDocs and Students

Publications

Most of my publications can be found on either Google Scholar or my ACM author page. However, if you prefer an overview by publication category and in chronological order you may wish to browse through the list below, which I try to keep reasonably up-to-date.

Book Chapters

  1. Björn Franke.

    C Compilers and Code Optimization for DSPs.
    In: Shuvra Bhattacharyya, Ed Deprette, Jarmo Takala, and Rainer Leupers (editors): Handbook on Signal Processing Systems, Springer Verlag, New York, 2013.

  2. Björn Franke.
    C Compilers and Code Optimization for DSPs.
    In: Shuvra Bhattacharyya, Ed Deprette, Jarmo Takala, and Rainer Leupers (editors): Handbook on Signal Processing Systems, Springer Verlag, New York, 2010.

  3. Nigel Topham, Björn Franke, Daniel Jones and Daniel Powell.
    Adaptive High-speed Processor Simulation.
    In: Olivier Temam and Rainer Leupers (editors): Processor and System-On-Chip Simulation, Springer Verlag, New York, 2010.

Conference Proceedings

  1. Björn Franke, Youfeng Wu and Fabrice Rastello
    Proceedings of the 2016 International Symposium on Code Generation and Optimization (CGO’16), Barcelona, Spain. March 12 – 18, 2016.

  2. Björn Franke.
    Proceedings of the 24th International Conference on Compiler Construction (CC 2015), Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015.

  3. Björn Franke and Jingling Xue.
    Proceedings of the SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2013, LCTES ’13, Seattle, WA, USA, June 20-21, 2013.

Journal Articles

  1. Martin Kristien, Tom Spink, Brian Campbell, Susmit Sarkar, Ian Stark, Björn Franke, Igor Böhm, Nigel Topham.
    Fast and Correct Load-Link/Store-Conditional Instruction Handling in DBT Systems.
    IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 39, Issue 11, pp. 3544-3554, October 2020.

  2. Sajad Saeedi, Bruno Bodin, Harry Wagstaff, Andy Nisbet, Luigi Nardi, John Mawer, Nicolas Melot, Oscar Palomar, Emanuele Vespa, Tom Spink, Cosmin Gorgovan, Andrew Webb, James Clarkson, Erik Tomusk, Thomas Debrunner, Kuba Kaszyk, Pablo Gonzalez-de-Aledo, Andrey Rodchenko, Graham Riley, Christos Kotselidis, Bjorn Franke, Michael F. P. O’Boyle,  Andrew J. Davison, Paul H. J. Kelly, Mikel Lujan, and Steve Furber. Navigating the Landscape for Real-time Localisation and Mapping for Robotics Virtual and Augmented Reality.
    Proceedings of the IEEE, 2018.

  3. Stanislav Manilov, Björn Franke, Anthony Magrath, Cedric Andrieu
    Free Rider: A Source-Level Transformation Tool for Retargeting Platform-Specific Intrinsic Functions.
    ACM Transactions on Embedded Computing Systems (TECS), Volume 16, Issue 2, January 2017.

  4. Tom Spink, Harry Wagstaff, Björn Franke
    Hardware-Accelerated Cross-Architecture Full-System Virtualization.
    ACM Transactions on Architecture and Code Optimization (TACO), Volume 13 Issue 4, December 2016.

  5. Zheng Wang, Georgios Tournavitis, Björn Franke, Michael F. P. O’Boyle.
    Integrating profile-driven parallelism detection and machine-learning-based mapping.
    ACM Transactions on Architecture and Code Optimization (TACO), Volume 11, Issue 1, February 2014.

  6. O. Almer, I. Böhm, T. Edler von Koch, B. Franke, S. Kyle, V. Seeker, C. Thompson, and N. Topham.
    A Parallel Dynamic Binary Translator for Efficient Multi-Core Simulation.
    International Journal of Parallel Programming, April 2013, Volume 41, Issue 2, pp 212-235.

  7. Alastair Murray and Björn Franke.
    Adaptive Source-Level Data Assignment to Dual Memory Banks.
    ACM Transactions on Embedded Computing Systems (TECS), Volume 11S, Issue 1, June 2012.

  8. Björn Franke.
    Statistical Performance Modeling in Functional Instruction Set Simulators.
    ACM Transactions on Embedded Computing Systems (TECS), Volume 11S, Issue 1, June 2012.

  9. Richard V. Bennett, Alastair Murray, Björn Franke and Nigel Topham.
    Code Transformation and Instruction Set Extensions.
    ACM Transactions on Embedded Computing Systems (TECS), Vol. 8, Issue 4, July 2009.

  10. Björn Franke and Michael O’Boyle.
    A Complete Compiler Approach to Auto-Parallelizing C Programs for Multi-DSP Systems.
    IEEE Transactions on Parallel and Distributed Systems (TPDS),  Vol. 16, No. 3, pp 234-245, March 2005.

  11. Björn Franke and Michael O’Boyle.
    Array Recovery and High-Level Transformations for DSP Applications.
    ACM Transactions on Embedded Computing Systems (TECS),  Vol. 2, Issue 2, pp 132-162, May 2003.

Conference Papers

  1. Volker Seeker, Chris Cummins, Murray Cole, Björn Franke, Kim Hazelwood, Hugh Leather.
    Revealing Compiler Heuristics through Automated Discovery and Optimization.
    To Appear In: 2024 International Symposium on Code Generation and Optimization, March 2024, Edinburgh, UK.
  2. Nikolaos Mavrogeorgis, Christos Vasiladiotis, Pei Mu, Amir Khordadi, Björn Franke, and Antonio Barbalace.
    UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State Transformation.
    To Appear in: ACM SIGPLAN 2024 International Conference on Compiler Construction, March 2024, Edinburgh, UK.

  3. Björn Franke, Zhibo Li, Magnus Morton, Michel Steuwer.

    Best Paper Award

    Collection Skeletons: Declarative Abstractions for Data Collections.
    In: Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2022), November 2022.

  4. Rodrigo CO Rocha, Pavlos Petoumenos, Björn Franke, Pramod Bhatotia, Michael O’Boyle.
    Loop Rolling for Code Size Reduction.
    In: 2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2022), April 2022.

  5. Roberto Castañeda Lozano, Murray Cole, Björn Franke.
    Modernizing Parallel Code with Pattern Analysis.
    In: Principles and Practice of Parallel Programming (PPoPP 2021), February 2021.

  6. Christos Vasiladiotis, Roberto Castañeda Lozano, Murray Cole, Björn Franke.
    Loop Parallelization using Dynamic Commutativity Analysis.
    In: The International Symposium on Code Generation and Optimization (CGO 2021), February 2021.

  7. Subhankar Pal, Kuba Kaszyk, Siying Feng, Björn Franke, Murray Cole, Michael O’Boyle, Trevor Mudge, Ronald G Dreslinski.
    HETSIM: Simulating Large-Scale Heterogeneous Systems using a Trace-driven, Synchronization and Dependency-Aware Framework
    In: Proceedings of the 2020 IEEE International Symposium on Workload Characterization (IISWC), Virtual Conference, October 2020.

  8. Roberto Castañeda Lozano, Murray Cole, Björn Franke.
    Parallelizing Parallel Programs: A Dynamic Pattern Analysis for Modernization of Legacy Parallel Code.
    In: Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques (PACT 2020), October 2020.

  9. Valentin Radu, Kuba Kaszyk, Yuan Wen, Jack Turner, José Cano, Elliot J. Crowley, Björn Franke, Amos Storkey, Michael O’Boyle.
    Optimal Convolutional Dimensionality for Mobile and Embedded GPU Performance.
    In: The 2019 IEEE International Symposium on Workload Characterization (IISWC 2019), November 3 – November 5, 2019, Orlando, Florida, USA.

  10. Aleksandr Maramzin, Christos Vasiladiotis, Roberto Castañneda Lozano, Murray Cole, Björn Franke.
    “It Looks Like You’re Writing a Parallel Loop” – A Machine Learning Based Parallelization Assistant.
    In: The 6th ACM SIGPLAN International Workshop on AI-Inspired and Empirical Methods for Software Engineering on Parallel Computing Systems (AI-SEPS), 2019, Athens, Greece.

  11. Best Paper Award

    Tom Spink, Harry Wagstaff, and Björn Franke.
    A Retargetable System-Level DBT Hypervisor.
    In: Proceedings of the 2019 USENIX Annual Technical Conference. July 10–12, 2019, Renton, WA, USA.

  12. Martin Kristien, Tom Spink, Harry Wagstaff, Björn Franke, Igor Böhm, and Nigel Topham.
    Mitigating JIT Compilation Latency in Virtual Execution Environments.
    In: Proceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’19), Providence, Rhode Island, USA, 2019.

  13. Kuba Kaszyk, Harry Wagstaff, Tom Spink, Björn Franke, Mike O’Boyle, Bruno Bodin and Henrik Uhrenholt.
    Full-System Simulation of Mobile CPU/GPU Platforms.
    In: Proceedings of the 2019 IEEE International Symposium on Performance Analysis of Systems and Software, Madison, WI, USA, 2019.

  14. James Renwick, Tom Spink, and Björn Franke.
    Low-cost Deterministic C++ Exceptions for Embedded Systems.
    In: Proceedings of the 2019 International Conference on Compiler Construction (CC’19), Washington, DC, USA, 2019.

  15. Chad Verbowski, Paolo Costa, Hugh Leather, Björn Franke, and Ed Thayer.
    Right-sizing Server Capacity Headroom for Global Online Services.
    In: Proceedings of the 38th IEEE International Conference on Distributed Computing Systems (ICDCS), Vienna, 2018.

  16. Tobias J.K. Edler von Koch, Stanislav Manilov, Christos Vasiladiotis, Murray Cole, and Björn Franke.
    Towards a Compiler Analysis for Parallel Algorithmic Skeletons.
    In: Proceedings of the 2018 International Conference on Compiler Construction (CC’18), Vienna, 2018.

  17. Stanislav Manilov, Christos Vasiladiotis, and Björn Franke.
    Generalized Profile-Guided Iterator Recognition.
    In: Proceedings of the 2018 International Conference on Compiler Construction (CC’18), Vienna, 2018.

  18. Harry Wagstaff, Bruno Bodin, Tom Spink and Björn Franke.
    SimBench: A Portable Benchmarking Methodology for Full-System Simulators.
    In: Proceedings of the International Symposium on Performance Analysis of Systems and Software (ISPASS), 2017.

  19. Bruno Bodin, Luigi Nardi, M Zeeshan Zia, Harry Wagstaff, Govind Sreekar Shenoy, Murali Emani, John Mawer, Christos Kotselidis, Andy Nisbet, Mikel Lujan, Björn Franke, Paul Kelly and Michael O’Boyle.
    Integrating Algorithmic Parameters into Benchmarking and Design Space Exploration in Dense 3D Scene Understanding.
    In: Proceedings of the 25th Conference on Parallel Architectures and Compilation Techniques (PACT’16), Haifa, Israel, September 11-15, 2016.

  20. Tom Spink, Harry Wagstaff, and Björn Franke.
    Efficient Asynchronous Interrupt Handling in a Full-System Instruction Set Simulator.
    Proceedings of the 2016 Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’16), Santa Barbara, California, USA, June 13-14, 2016.

  21. Luna Backes, Alejandro Rico and Björn Franke.
    Experiences in Speeding Up Computer Vision Applications on Mobile Computing Platforms.
    Proceedings of the International Symposium on Systems, Architectures, Modeling, and Simulation (SAMOS XV), Samos, Greece, July 20-23, 2015.

  22. Tom Spink, Harry Wagstaff, Björn Franke and Nigel Topham.
    Efficient Dual-ISA Support in a Retargetable, Asynchronous Dynamic Binary Translator.
    Proceedings of the International Symposium on Systems, Architectures, Modeling, and Simulation (SAMOS XV), Samos, Greece, July 20-23, 2015.

  23. Stanislav Manilov, Björn Franke, Anthony Magrath, Cedric Andrieu.
    Free Rider: A Tool for Retargeting Platform-Specific Intrinsic Functions.
    Proceedings of the 2015 Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’15), Portland, Oregon, USA, June 18-19, 2015.

  24. Stephen Kyle, Hugh Leather, Björn Franke, Dave Butcher, Stuart Monteith.
    Application of Domain-aware Binary Fuzzing to Aid Android Virtual Machine Testing.
    Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’15), Istanbul, Turkey, March 14-15, 2015.

  25. Best Paper Award

    Volker Seeker, Pavlos Petoumenos, Hugh Leather, Björn Franke.
    Measuring QoE of Interactive Workloads and Characterising Frequency Governors on Mobile Devices.
    Proceedings of the 2014 IEEE International Symposium on Workload Characterization (IISWC’15), Raleigh, North Carolina, USA, October 2014.

  26. Harry Wagstaff, Tom Spink, Björn Franke.
    Automated ISA Branch Coverage Analysis and Test Case Generation for Retargetable Instruction Set Simulators.
    Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES 2014), New Dehli, India, October 2014.

  27. Tom Spink, Harry Wagstaff, Björn Franke, Nigel Topham.
    Efficient Code Generation in a Region-Based Dynamic Binary Translator.
    Proceedings of the ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES 2014), Edinburgh, June 2014.

  28. Tobias J.K. Edler von Koch, Björn Franke, Pranav Bhandarkar, Anshuman Dasgupta.
    Exploiting Function Similarity for Code Size Reduction.
    Proceedings of the ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES 2014), Edinburgh, June 2014.

  29. Zheng Wang, Daniel Christopher Powell, Björn Franke, Michael F.P. O’Boyle.
    Exploitation of GPUs for the Parallelisation of Probably Parallel Legacy Code.
    Proceedings of the 23rd International Conference on Compiler Construction (ETAPS CC), 5-13 April 2014, Grenoble, France.

  30. Tobias J.K. Edler von Koch and Björn Franke.
    Variability of Data Dependences and Control Flow.
    Proceedings of the 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2014), March 23-25, 2014.

  31. Harry Wagstaff and Björn Franke.
    Early Partial Evaluation in a JIT-compiled, Retargetable Instruction Set Simulator Generated from a High-Level Architecture Description.
    Proceedings of the 50th Design Automation Conference (DAC 2013), Austin, TX, June 2013.

  32. Tobias Edler von Koch and Björn Franke.
    Limits of Region-Based Dynamic Binary Parallelization.
    Proceedings of the 2013 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’13), Houston, TX, March 2013.

  33. Alastair Murray and Björn Franke.
    Compiling for Automatically Generated Instruction Set Extensions.
    Proceedings of the 2012 International Symposium on Code Generation and Optimization. San Jose, US, March 31 – April 4, 2012.

  34. K.Sundararajan, V.Porpodas, T.Jones, N.Topham and B.Franke.
    Cooperative Partitioning: Energy-Efficient Cache Partitioning for High-Performance CMPs.
    Proceedings of the 18th International Symposium on High Performance Computer Architecture (HPCA’12), New Orleans, US, February 25-29, 2012.

  35. Stephen C. Kyle, Igor Böhm, Björn Franke, Hugh Leather, Nigel P. Topham.
    Efficiently parallelizing instruction set simulation of embedded multi-core processors using region-based just-in-time dynamic binary translation.
    Proceedings of the Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES’12), Beijing, China, June 12-13, 2012.

  36. Oscar Almer, Igor Böhm, Tobias Edler von Koch, Björn Franke, Stephen Kyle, Volker Seeker, Christopher Thompson and Nigel Topham.
    Scalable Multi-Core Simulation Using Parallel Dynamic Binary Translation.
    Proceedings of the International Symposium on Systems, Architectures, Modeling, and Simulation (SAMOS’11), Samos, Greece, July 19-22, 2011.

  37. Oscar Almer, Miles Gould, Björn Franke, Nigel P. Topham.
    Selecting the Optimal System: Automated Design of Application-Specific Systems-on-Chip. Proceedings of NoCArc@MICRO 2011.

  38. Igor Böhm, Tobias Edler von Koch, Björn Franke and Nigel Topham.
    Generalized Just-In-Time Trace Compilation using a Parallel Task Farm in a Dynamic Binary Translator.
    Proceedings of the ACM SIGPLAN 2011 Conference on Programming Language Design and Implementation (PLDI’11), San Jose, CA, June 2011.

  39. Oscar Almer, Nigel Topham, and Björn Franke.
    A Learning-based Approach to the Automated Design of MPSoC Networks.
    Proceedings of ARCS 2011 – Architecture of Computing Systems, 22-25 February 2011, Como, Italy.

  40. Georgios Tournavitis and Björn Franke.
    Semi-Automatic Extraction and Exploitation of Hierarchical Pipeline Parallelism Using Profiling Information.
    Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT ’10), Vienna, Austria, September 11-15, 2010.

  41. Best Paper Award

    Igor Böhm, Björn Franke and Nigel Topham.
    Cycle-Accurate Performance Modelling in an Ultra-Fast Just-In-Time Dynamic Binary Translation Instruction Set Simulator.
    Proceedings of the International Symposium on Systems, Architectures, Modeling, and Simulation (SAMOS’10), Samos, Greece, July 19-22, 2010.

  42. Tobias Edler von Koch, Igor Böhm, and Björn Franke.
    Integrated Instruction Selection and Register Allocation for Compact Code Generation Exploiting Freeform Mixing of 16- and 32-bit Instructions.
    Proceedings of the International Symposium on Code Generation and Optimization (CGO), Toronto, Canada, 2010.

  43. Damon Fenacci, Björn Franke, and John Thomson.
    Workload Characterization Supporting the Development of Domain-Specific Compiler Optimizations Using Decision Trees for Data Mining.
    Proceedings of the 13th International Workshop on Software & Compilers for Embedded Systems, SCOPES, 2010.

  44. John Thomson, Michael O’Boyle, Grigori Fursin and Björn Franke.
    Reducing Training Time and Calculating Confidence in a Machine Learning-based Compiler.
    Proceedings of 22nd International Workshop on Languages and Compilers for Parallel Computers (LCPC’09), Newark, Delaware, 2009.

  45. Daniel Powell and Björn Franke.
    Using Continuous Statistical Machine Learning to Enable High-Speed Performance Prediction in Hybrid Instruction-/Cycle-Accurate Instruction Set Simulators.
    Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES-ISSS), Grenoble, 2009.

  46. Georgios Tournavitis, Zheng Wang, Björn Franke and Michael O’Boyle.
    Towards a Holistic Approach to Auto-Parallelization: Integrating Profile-Driven Parallelism Detection and Machine-Learning Based Mapping.
    Proceedings of the ACM SIGPLAN 2009 Conference on Programming Language Design and Implementation (PLDI), Dublin, 2009.

  47. Alastair Murray and Björn Franke.
    Using Genetic Programming for Source-Level Data Assignment to Dual Memory Banks.
    Proceedings of the 3rd Workshop on Statistical and Machine Learning Approaches to Architecture and Compilation (SMART’09), Paphos, Cyprus, 2009.

  48. Oscar Almer, Richard Bennett, Igor Böhm, Alastair Murray, Xinhao Qu, Marcela Zuluaga, Björn Franke, Nigel Topham.
    An End-to-End Design Flow for Automated Instruction Set Extension and Complex Instruction Selection based on GCC.
    Proceedings of the First International Workshop on GCC Research Opportunities (GROW09), Paphos, Cyprus, 2009.

  49. Georgios Tournavitis and Björn Franke.
    Towards Automatic Profile-Driven Parallelization of Embedded Multimedia Applications. 
    Proceedings of the 2nd Workshop on Programmability Issues for Multi-Core Computers (MULTIPROG), Paphos, Cyprus, 2009.

  50. Jonathan Frye and Björn Franke.
    PDP – Pen Driven Programming.
    Proceedings of the BCS Human-Computer Interaction (HCI 2008) Conference, September 2008, Liverpool, United Kingdom.

  51. Björn Franke.
    Fast Cycle-Approximate Instruction Set Simulation.
    Proceedings of the Workshop on Software & Compilers for Embedded Systems (SCOPES 2008), March 2008, Munich, Germany.

  52. Alastair Murray and Björn Franke.
    Fast Source-Level Data Assignment to Dual Memory Banks.
    Proceedings of the Workshop on Software & Compilers for Embedded Systems (SCOPES 2008), March 2008, Munich, Germany.

  53. Shun Long, Grigori Fursin, and Björn Franke.
    A Cost-Aware Parallel Workload Allocation Approach Based on Machine Learning Techniques.
    Proceedings of the 2007 IFIP International Conference on Network and Parallel Computing (NPC 2007), September 2007, Dalian, China.

  54. Richard Bennett, Alastair Murray, Björn Franke, and Nigel Topham.
    Combining Source-to-Source Transformations and Processor Instruction Set Extension for the Automated Design-Space Exploration of Embedded Systems.
    Proceedings of ACM SIGPLAN/SIGBED 2007 Conference on Languages Compilers, and Tools for Embedded Systems (LCTES ‘07), June 2007, San Diego, USA.

  55. Christophe Dubach, John Cavazos, Björn Franke, Michael O’Boyle, Grigori Fursin, and Olivier Temam.
    Fast Compiler Optimisation Evaluation Using Code-Feature Based Performance Prediction.
    Proceedings of the ACM International Conference on Computing Frontiers, May 2007, Ischia, Italy.

  56. Edwin Bonilla, John Cavazos, Björn Franke, Michael O’Boyle, John Thomson, and Chris Williams.
    Using Machine Learning to Focus Iterative Optimization.
    Proceedings of the 4th Annual International Symposium on Code Generation and Optimization (CGO), March 2006, New York, USA.

  57. Björn Franke, Michael O’Boyle, John Thomson, and Grigori Fursin.
    Probabilistic Source-Level Optimisation of Embedded Programs.
    Proceedings of the 2005 Conference on Languages, Compilers and Tools for Embedded Systems (LCTES’05), June 15 – 17, 2005, Chicago, IL, USA.

  58. Björn Franke and Michael O’Boyle.
    Combining Program Recovery, Auto-Parallelisation and Locality Analysis for C Programs on Multi-Processor Embedded Systems.
    Proceedings of the 11th Workshop on Compilers for Parallel Computers (CPC 2004), July 7 – 9, 2004, Chiemsee, Germany.

  59. Björn Franke and Michael O’Boyle.
    Combining Program Recovery, Auto-Parallelisation and Locality Analysis for C Programs on Multi-Processor Embedded Systems.
    Proceedings of the 12th International Conference on Parallel Architectures and Compilation Techniques (PACT’03), September 27 – October 01, 2003, New Orleans, Louisiana.

  60. Björn Franke and Michael O’Boyle.
    Compiler Parallelization of C programs for Multi-core DSPs with Multiple Address Spaces.
    Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/Software Codesign & System Synthesis (CODES-ISSS 2003), October 01 – 03, 2003, Newport Beach, CA, USA.

  61. Björn Franke and Michael O’Boyle.
    Array Recovery and High Level Transformations for DSP Applications.
    Proceedings of the 10th International Workshop on Compilers for Parallel Computers (CPC 2003), January 8-10, 2003, Amsterdam, The Netherlands.

  62. Björn Franke and Michael O’Boyle.
    An Empirical Evaluation of High Level Transformations for Embedded Processors.
    Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES), November 16-17, 2001, Atlanta, Georgia, USA.

  63. Björn Franke and Michael O’Boyle.
    Compiler Transformation of Pointers to Explicit Array Accesses in DSP Applications.
    In: Reinhard Wilhelm (Ed.), LNCS 2027, pp. 69-85, Proceedings of ETAPS Compiler Construction 2001, April 2-6, 2001, Genova, Italy.

  64. Björn Franke and Michael O’Boyle.
    Towards Automatic Parallelisation for Multiprocessor DSPs.
    Proceedings of the 5th International Workshop on Software and Compilers for Embedded Systems (SCOPES), March 20-22, 2001, St. Goar, Germany.

  65. Björn Franke and Michael O’Boyle.
    Automatic Array Access Recovery in Pointer based DSP Codes.
    Proceedings of 2nd Workshop on Media Processors and DSPs, 33rd International Symposium on Microarchitecture, December 2000, Monterey, California.

Theses

  1. Björn Franke.
    Compilation Techniques for High-Performance Embedded Systems with Multiple Processors.
    Ph.D. Thesis, School of Informatics, University of Edinburgh, 2004.

  2. Björn Franke.
    Program Analyses and Transformations Exploiting Parallelism in DSPs.
    M.Sc. Thesis, Department of Computer Science, University of Edinburgh, 2000.

  3. Björn Franke.
    Analysen und Methoden optimierender Compiler zur Steigerung der Effizienz von Speicherzugriffen in eingebetteten Systemen.
    Diplomarbeit, Fachbereich Informatik, Universität Dortmund, 1999.

Teaching

Current Teaching

I am not teaching any courses in this academic year, but I am supporting my colleagues in the School of Informatics as Director of Teaching.

Past Teaching

Over the years I have been teaching numerous courses including:

  • Compiling Techniques
  • Compiler Optimisation
  • Distributed Systems
  • Embedded Systems
  • C Programming Concepts and Skills
  • Informatics Research Review
  • Informatics Project Proposal

Course Design

Together with my colleague Paul Patras I have been designing our new course “Internet of Things, Security, and the Cloud”. This course is intended to replace our existing “Embedded Systems” course, which I co-designed with Michael O’Boyle several years ago, from 2017/18 onwards. More recently, I have been redesigning the “Informatics Research Review” and “Informatics Research Proposal” courses.