bsc(hons) computing science proposals for …...an attempt to simulate the human learning paradigm...

26
BSc(Hons) Computing Science Proposals for Student Projects 2019/2020

Upload: others

Post on 05-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

BSc(Hons) Computing Science

Proposals for Student Projects

2019/2020

Page 2: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Contents

Project Proposals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Memory Forensics for Cyber Incident Response

Mark Vella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4ProcessJ to JavaScript translation

Kevin Vella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Computation mobility with Javascript

Kevin Vella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Occam to Go source-level translation

Kevin Vella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Never Ending Learning - In Pattern recognition and Machine learning

Adrian Muscat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Web-based Testbed for Visual Relation Detection

Adrian Muscat, Chris Porter . . . . . . . . . . . . . . . . . . . . 12Image-based Rendering for Virtual Reality Applications

Carl James Debono, Johann Briffa . . . . . . . . . . . . . . . . . 13Object Detection in Light Field Images

Carl James Debono . . . . . . . . . . . . . . . . . . . . . . . . . . 14Detection and Classification of Brain Haemorrhage

Carl James Debono . . . . . . . . . . . . . . . . . . . . . . . . . . 15Indoor localisation system for the CERN particle accelerator injector

complexGianluca Valentino . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Project Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Area: Computer Graphics

Keith Bugeja, Sandro Spina . . . . . . . . . . . . . . . . . . . . . 18Area: Runtime verification of smart contracts for blockchains and Dis-

tributed Ledger TechnologiesGordon Pace, Joshua Ellul . . . . . . . . . . . . . . . . . . . . . 21

Area: Static analysis of Smart Contracts using KeYGordon Pace, Joshua Ellul . . . . . . . . . . . . . . . . . . . . . 22

Area: The Run-time Performance of Concurrent ProgramsKevin Vella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Area: Coding Theory, Image Processing and GPU ComputingJohann Briffa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2

Page 3: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Project Proposals

The following are specific project proposals that have already been approvedby the Board of Studies.

Page 4: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Memory Forensics forCyber Incident Response

Supervised by: Mark VellaKeywords: Digital Investigation, Incident Response,, Memory Foren-sics, Binary Analysis, Dynamic Binary InstrumentationLevel: Undergraduate final year project

Cyber attacks nowadays employ highly sophisticated software artefacts [7, 5]that can persist for long periods of time while evading detection. This is wherethe importance of memory forensics [10] becomes paramount. This approachfollows the adage: ”malware can hide but it must run”, meaning that memoryforensics revolves around investigating unavoidable in-memory artefacts pro-duced by successful intrusions.

Malware sandboxes [3, 6] perform automated malware analysis to generate anumber of indicators of compromise and help configure memory scanners to de-tect ongoing infections. However, a deeper level of analysis that directly inspectsmalware binary code can lead to the development of advanced memory forensicstools that may even reveal the exact manner how the malicious artefacts arebeing utilized by threat actors. Such tools can provide comprehensive recoveryand possibly even lead to successful attribution during digital investigation byincident responders [11].

This project area comprises the use of binary (or bytecode) analysis/ instru-mentation techniques [8, 9] and frameworks [4, 1, 2] in order to build memoryforensics tools for incident responders. The idea is to leverage the fact thatseveral of the aforementioned malicious artefacts tend to be widely used acrossattack campaigns, whether for global or targeted ones, while morphing suffi-ciently to elude rudimentary host and network-level detectors.

Bibliography

[1] angr: a python framework for analyzing binaries. http://angr.io/. Ac-cessed: 2019-03-25.

[2] Apktool: A tool for reverse engineering android apk files. https://

ibotpeaches.github.io/Apktool/. Accessed: 2019-03-25.

[3] Falcon sandbox and hybrid analysis technology. https://www.

hybrid-analysis.com/. Accessed: 2019-03-25.

[4] Frida: Dynamic instrumentation toolkit for developers, reverse-engineers,and security researchers. https://www.frida.re/. Accessed: 2019-03-25.

4

Page 5: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

5

[5] Information security news stream. https://securityintelligence.com/news/. Accessed: 2019-03-25.

[6] Koodous apk repository. https://koodous.com/. Accessed: 2019-03-25.

[7] A source for pcap files and malware samples. http://www.

malware-traffic-analysis.net/index.html. Accessed: 2019-03-25.

[8] Bruce Dang, Alexandre Gazet, and Elias Bachaalany. Practical reverseengineering: x86, x64, ARM, Windows kernel, reversing tools, and obfus-cation. John Wiley & Sons, 2014.

[9] Joshua J Drake, Zach Lanier, Collin Mulliner, Pau Oliva Fora, Stephen ARidley, and Georg Wicherski. Android hacker’s handbook. John Wiley &Sons, 2014.

[10] Michael Hale Ligh, Andrew Case, Jamie Levy, and Aaron Walters. The artof memory forensics: detecting malware and threats in windows, linux, andMac memory. John Wiley & Sons, 2014.

[11] Chris Prosise, Kevin Mandia, and Matt Pepe. Incident response & com-puter forensics. 2003.

Page 6: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

ProcessJ to JavaScripttranslation

Supervised by: Kevin VellaKeywords: Compilers, ConcurrencyLevel: Undergraduate final year project

Java’s concurrency model is loosely based on Hoare’s monitors [1], which arebroadly used despite arguably introducing unnecessary complexity in the de-sign of concurrent systems. The typical scenario entails Java threads migratingbetween objects each time a method in another object is called, resulting inexecution flow resembling a spaghetti of threads crossing objects in a highly un-structured manner [5]. Several alternative concurrency mechanisms have beenproposed for Java, most of which are library-based [6, 2].

ProcessJ [4] is an experimental concurrent language designed at the Uni-versity of Nevada at Las Vegas, loosely characterised as Java with its object-oriented features supplanted by process-oriented ones. Still in its early stages ofdevelopment, ProcessJ presently targets the Java Virtual Machine. Consideringthat use in concurrency education is the primary intended use for ProcessJ, itis desirable to also target the Javascript interpreter in web browsers, so as toenable students to write and interact with ProcessJ examples directly in thebrowser.

A major component of this proposed solution has already been built at theUniversity of Malta [3], a Javascript run-time system that cooperatively sched-ules concurrent processes on browsers and node.js servers and permits channelcommunication over web socket connections, between web workers, etc. Thisproject covers the next major step, which is the design and implementation of atranspiler that takes ProcessJ as input and produces ’multi-process’ Javascriptcode with JS-CSP as the run-time system and scheduler.

Bibliography

[1] C. A. R. Hoare. Monitors: An operating system structuring concept. Com-mun. ACM, 17:549–557, 1974.

[2] B M. Cook (ed, Gerald Hilderink, J.F. Broenink, and Andr Bakkers. Com-municating threads for java. CPA, 11 1999.

[3] K Micallef and K Vella. Communicating generators in javascript. Commu-nicating Process Architectures, 2016.

[4] Jan Bækgaard Pedersen and Marc L Smith. Processj: A possible future ofprocess-oriented design. Communicating Process Architectures, pages 133–156, 2013.

6

Page 7: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

7

[5] Peter H. Welch. Process oriented design for java: Concurrency for all. InInternational Conference on Computational Science, 2000.

[6] Peter H. Welch, Neil Brown, James Moores, Kevin Chalmers, and BernhardH. C. Sputh. Integrating and extending jcsp. In CPA, 2007.

Page 8: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Computation mobility withJavascript

Supervised by: Kevin VellaKeywords: Web Computing, ConcurrencyLevel: Undergraduate final year project

Javascript [2], as an interpreted language, permits an executing program todynamically change its own behaviour by modifying its own source code in-memory. This provides an intriguing opportunity to explore the gradual migra-tion of a running program to a new location and transparent resumption of itscomputation, without providing said locations access to the program code inadvance [1].

This project involves the design and implementation of a Javascript frame-work that allows developers to migrate the state of ongoing computation to-gether with code across locations, for instance from a node.js instance to a webbrowser and back. Sample applications that take advantage and demonstratethis feature will be developed. Finally, the performance and scalability of com-putation mobility in Javascript will be characterised through experimentation.

Bibliography

[1] Luca Cardelli. Mobile computation. In International Workshop on MobileObject Systems, pages 1–6. Springer, 1996.

[2] Allen Wirfs-Brock. Ecmascript 2015 language specification. Ecma Interna-tional,, 2015.

8

Page 9: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Occam to Go source-leveltranslation

Supervised by: Kevin VellaKeywords: Compilers, ConcurrencyLevel: Undergraduate final year project

In few application domains where safety is highly critical, the programminglanguage Occam [3] is still in use. Occam is however, not easily ported tonew platforms, nor is the compiler well maintained. From many aspects, anobvious alternative to Occam is Go [2], but a large code base in Occam wouldhave to be translated into Go, which for safety critical code is non-trivial. Theproposed project is to create a transpiler that translates existing Occam codeinto human-readable Go code.

A similar project is being proposed to computing students at the Universityof Copenhagen [1]. This commonality is intended to promote opportunities forjoint work between interested students at the two institutions.

Bibliography

[1] Bohrium eScience Projects Web Site. https://projects.bh107.org/projects.

[2] Alan AA Donovan and Brian W Kernighan. The Go programming language.Addison-Wesley Professional, 2015.

[3] Geraint A Jones and Michael Goldsmith. Programming in OCCAM. PrenticeHall Professional Technical Reference, 1989.

9

Page 10: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Never Ending Learning - InPattern recognition andMachine learning

Supervised by: Adrian MuscatLevel: Undergraduate final year project

Typically in a supervised machine learning setup the model is trained usinga fully labelled dataset prior to deployment. If the nature of the data changes,the model is re-trained from scratch or fine-tuned, again with the full updatedlabelled dataset. This setup has two major problems (a) re-training the model istime-consuming, and (b) collating a labelled dataset is very expensive. Problem(a) is usually attributed to the inherent structure of the model, while problem(b) is related to the learning algorithm. These two problems are usually inde-pendent of each other. However when, for example, the output labels in thedataset change the two problems are then related. In this project we will drawinspiration from the fact that humans learn incrementally and not always fromlabelled data. The term “Never Ending Learning” (NEL) has been coined inan attempt to simulate the human learning paradigm (see example applied ina language setting, [5], and in image setting, [3, 4]). Additionally, humans mayeven discard labelled data, as incorrect. The general aim of this project is tostudy and develop techniques, methods and algorithms that mimic or simulatethis human learning task. We can ground this problem in the prediction of spa-tial relations, since this is a multi-label problem (highly suitable for this project)and we also have considerable experience and data in this area, [6, 2, 1]. A goodstart in this project is to review the literature in semi-supervised learning andlife-long machine learning. We finally compare results to the supervised modelsand conclude on the benefits or otherwise of the NEL model. More concretelythe student will develop a NEL model for the spatial relation detection task.This project requires a significant degree of experimentation and benefits froman inquisitive and creative mind.

Bibliography

[1] A. Belz, A. Muscat, P. Anguill, M. Sow, G. Vincent, and Y. Zinessabah. Spa-tialvoc2k: A multilingual dataset of images with annotations and featuresfor spatial relations between objects. In Proceedings of INLG’18, 2018.

[2] B. Birmingham, A. Muscat, and A. Belz. Adding the third dimension tospatial relation detection in 2d images. In Proceedings of INLG’18, 2018.

10

Page 11: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

11

[3] Xinlei Chen, Abhinav Shrivastava, and Abhinav Gupta. Neil: Extractingvisual knowledge from web data. In International Conference on ComputerVision (ICCV), December 2013.

[4] Geli Fei, Shuai Wang, and Bing Liu. Learning cumulatively to become moreknowledgeable. In Proceedings of the 22Nd ACM SIGKDD InternationalConference on Knowledge Discovery and Data Mining, KDD ’16, pages1565–1574, New York, NY, USA, 2016. ACM.

[5] T. Mitchell, W. Cohen, E. Hruschka, P. Talukdar, J. Betteridge, A. Carlson,B. Dalvi, M. Gardner, B. Kisiel, J. Krishnamurthy, N. Lao, K. Mazaitis,T. Mohamed, N. Nakashole, E. Platanios, A. Ritter, M. Samadi, B. Set-tles, R. Wang, D. Wijaya, A. Gupta, X. Chen, A. Saparov, M. Greaves,and J. Welling. Never-ending learning. In Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, AAAI’15, pages 2302–2310. AAAI Press, 2015.

[6] A. Muscat and A. Belz. Learning to generate descriptions of visual dataanchored in spatial relations. IEEE Computational Intelligence Magazine,12(3):29–42, Aug 2017.

Page 12: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Web-based Testbed forVisual Relation Detection

Supervised by: Adrian Muscat, Chris PorterLevel: Undergraduate final year project

This project is in the area of machine learning models that predict the re-lationship in between two objects in an image. For example man wearing hatand person working at the desk. In the former wearing describes the relationbetween man and hat, while working at describes the relation in between personand desk in the latter. Predicting the relation is a sub-task in the area of imageunderstanding, and finds useful application in visual question answering, imagedescription generation and robotics. Our participation in this area is ongoing(see for example [4, 2, 1]) and we are looking into developing an interactivewebsite that can drive this work forward.

In this project the student will build a web-based test-bed for the develop-ment and testing of various Visual Relation Detection (VRD) models, [3]. Thetest-bed would allow humans to, for example, (a) upload images, (b) annotatean image, (c) rate the labels predicted by the machine models or annotated byhumans, and (d) carry out statistical analysis, including inter-rater agreements.

This project involves considerable software development and in particularthe integration of ready-made models, including R-CNN or YOLO models andvarious VRD models. The test-bed will be based on a modular framework, suchthat models can be inserted and selected as desired, ideally via an API.

Bibliography

[1] A. Belz, A. Muscat, P. Anguill, M. Sow, G. Vincent, and Y. Zinessabah. Spa-tialvoc2k: A multilingual dataset of images with annotations and featuresfor spatial relations between objects. In Proceedings of INLG’18, 2018.

[2] B. Birmingham, A. Muscat, and A. Belz. Adding the third dimension tospatial relation detection in 2d images. In Proceedings of INLG’18, 2018.

[3] C. Lu, R. Krishna, M. Bernstein, and L. Fei-Fei. Visual relationship detec-tion with language priors. In 14th European Conf. Computer Vision, pages852–869, Amsterdam, The Netherlands, October 11–14, 2016.

[4] A. Muscat and A. Belz. Learning to generate descriptions of visual dataanchored in spatial relations. IEEE Computational Intelligence Magazine,12(3):29–42, Aug 2017.

12

Page 13: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Image-based Rendering forVirtual RealityApplications

Supervised by: Carl James Debono, Johann BriffaKeywords: Video Processing, Digital Image Processing, ComputerGraphicsLevel: Undergraduate final year project

Nowadays, mobile devices are being equipped with more processing powerand graphical processing units allowing them to perform more complex tasks.Virtual Reality is a solution that allows the multiple users to observe imagesand videos from their viewpoint. Image-based rendering can be used to gener-ate arbitrary viewpoints on the client device [1]. Rendering these virtual viewson resource-limited devices, such as smartphones, is very computationally de-manding even for the latest devices and drains battery power fast [2]. In thisproject, the student will study design and develop a lightweight solution thatexploits the smartphone’s GPU to provide fast rendering especially during viewchanges. The developed algorithm will be tested and evaluated in terms of speedand video quality.

Bibliography

[1] T. Kikukawa, Y. Kitamura, T. Ohno, S. Sakurai, T. Yamaguchi, F. Kishino,Y. Kunita, M. Isogai, H. Kimata, and N. Matsuura. An image-based systemfor sharing a 3d object by transmitting to remote locations. In 2010 IEEEVirtual Reality Conference (VR), pages 277–278, March 2010.

[2] Jae-Ho Nah, Yeongkyu Lim, Sunho Ki, and Chulho Shin. Z2 traversal orderfor vr stereo rendering on tile-based mobile gpus. In SIGGRAPH ASIA 2016Technical Briefs, SA ’16, pages 6:1–6:4, New York, NY, USA, 2016. ACM.

13

Page 14: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Object Detection in LightField Images

Supervised by: Carl James DebonoKeywords: Digital Image Processing, Artificial IntelligenceLevel: Undergraduate final year project

Light field imaging is a new technology that allows the capture of more vi-sual information compared to traditional cameras. This captured data allowsfor improved capabilities for scene understanding and improved performance ofcomputer vision solutions. However, it brings about also challenges for datacompression, content processing, and display [1]. Object detection is an im-portant task in many computer vision applications. In this project the studentwill study, design and develop an object detection solution that exploits theadditional information provided by this new image capture technology. Thedeveloped solution needs to take into consideration the speed of processing.

Bibliography

[1] G. Wu, B. Masia, A. Jarabo, Y. Zhang, L. Wang, Q. Dai, T. Chai, andY. Liu. Light field image processing: An overview. IEEE Journal of SelectedTopics in Signal Processing, 11(7):926–954, Oct 2017.

14

Page 15: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Detection and Classificationof Brain Haemorrhage

Supervised by: Carl James DebonoKeywords: Computer Vision, Artificial IntelligenceLevel: Undergraduate final year project

The brain is a complex organ that controls most of the activities of thehuman body. Damage within the brain can thus have a severe impact on thewellbeing of a person. Haemorrhage in the brain occurs because of blood es-caping from the circulatory system and can manifest itself internally and/orexternally. Detecting the correct location of a brain haemorrhage and its typeis crucial in saving lives and preventing further damage. Computed Tomogra-phy (CT) scans provide imagery that can be used for diagnostics to evaluatewhether a patient needs surgery or not. Deep learning solutions, such as [2], [1],will be used in this project to detect and classify brain haemorrhages. The CTscans will be obtained from the General Hospital.

Bibliography

[1] Monika Grewal, Muktabh Mayank Srivastava, Pulkit Kumar, and SrikrishnaVaradarajan. Radnet: Radiologist level accuracy using deep learning forhemorrhage detection in ct scans. arXiv:1710.04934 [cs.CV].

[2] Tong Duc Phong, Hieu N. Duong, Hien T. Nguyen, Nguyen Thanh Trong,Vu H. Nguyen, Tran Van Hoa, and Vaclav Snasel. Brain hemorrhage di-agnosis by using deep learning. In Proceedings of the 2017 InternationalConference on Machine Learning and Soft Computing, ICMLSC ’17, pages34–39, New York, NY, USA, 2017. ACM.

15

Page 16: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Indoor localisation systemfor the CERN particleaccelerator injector complex

Supervised by: Gianluca ValentinoKeywords: indoor localisation, 3G/4G, radio propagationLevel: Undergraduate final year project

The CERN particle accelerator complex [1] is composed by many under-ground caverns, tunnels and rooms. Often, it is difficult to navigate and findequipment and electronics in a timely manner. Access time needs to be mini-mized due to the presence of radiation. As the facility is underground, signalsfrom GPS satellites cannot be used. However, the tunnels are equipped with3G/4G cellular networks. In this initial work [2], radio propagation measure-ments were already performed in the LHC. In this project, a radio propagationsimulation will be set up using the available geometry, which will allow the3G/4G signals in the CERN injector complex to be used to localize individualsand propose an appropriate route to reach the selected destination.

Bibliography

[1] The CERN accelerator complex. https://home.cern/about/accelerators.

[2] F. Pereira, C. Theis, A. Moreira, and M. Ricardo. Evaluating locationfingerprinting methods for underground gsm networks deployed over leakyfeeder. In 2011 International Conference on Indoor Positioning and IndoorNavigation, pages 1–6, Sep. 2011.

16

Page 17: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Project Areas

The following are supervisors’ general areas of interest, intended to guide theformulation of bespoke project proposals. Any project proposal that emergesfrom these general areas will still require approval by the Board of Studies.

Page 18: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Area: Computer Graphics

Supervised by: Keith Bugeja, Sandro SpinaKeywords: Rendering, Realtime, Global Illumination, GeometryModelling, Scene Acquisition, Deep Learning

Figure 1: Global illumination solution decomposed into its various constituentphenomena; taken from [5].

Synthesis

Computer synthesised images are ubiquitously found; photorealistic renderingpervades a myriad areas and disciplines, from video games and movies to engi-neering, medicine and architecture. In the field of computer graphics, renderingis the process by which a virtual scene containing mathematical representationsof an environment is synthesised into an image. These representations typicallyinclude geometry, surface material properties, lighting conditions and cameraattributes. Physically based rendering concerns itself with the generation ofimages that are virtually indistinguishable from real world images. Thus, thephysical behaviour of light is simulated as accurately as possible in an effort tomodel real world phenomena and replicate them in the final synthesised image.The essence of physically based rendering is captured by the rendering equation,an integral equation that can be used to evaluate lighting at a specific point inan environment [4]. The rendering equation cannot be solved analytically be-cause of the complexity of the models involved. Numerical simulations basedon the finite element or Monte Carlo methods are employed instead [7]. Phys-ically based rendering is a computationally expensive process and, as is oftenthe case with such physical simulations, parallel and distributed computing areintroduced to speed up computation time or solve larger problem sets [2][3][1].

18

Page 19: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

19

Figure 2: Point cloud acquisition, taken from [6].

Following the real-life process by which an image sensor converts an opticalimage into an electronic signal, the simulation of light transport in physicallybased rendering calculates lighting from the point of view of a virtual camera.The interaction of light with the environment is typically classified into twotypes of contributions, direct and indirect. The direct contribution models lightdirectly incident on surfaces, that is, light emitted from a source that interactsat most once with a surface before reaching the virtual camera. The indirectcontribution captures light that has interacted with multiple surfaces prior toreaching the virtual camera. Lighting models that are based on the directcontribution alone are referred to as local illumination models, while modelsthat aggregate direct and indirect lighting are called global illumination (GI)methods (see Figure 1) [5]. Local illumination models can be computed quicklyand efficiently, and have been predominantly used in realtime rendering. On theother hand, GI is more complex due to the myriad of possible interactions oflight between different surfaces in a scene. In physically based image synthesis,the modelling of GI is essential for physical correctness, to bolster realism.Traditionally, local illumination methods have been accelerated through the useof Graphics Processing Units (GPUs); with the advent of hardware-acceleratedray tracing (e.g. RTX-cores), new avenues have opened for point-based globalillumination algorithms running at interactive frame rates.

Acquisition

The acquisition of 3D point clouds representing the surface structure of real-world scenes has become common practice in many areas including architecture,cultural heritage and urban planning. Improvements in sample acquisition ratesand precision are contributing to an increase in size and quality of point clouddata (see Figure 2). The management of these large volumes of data is quicklybecoming a challenge, leading to the design of algorithms intended to anal-

Page 20: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

20

yse and decrease the complexity of this data. Point cloud segmentation algo-rithms partition point clouds for better management, and scene understandingalgorithms identify the components of a scene in the presence of considerableclutter and noise. In many cases, segmentation algorithms operate within theremit of a specific context, wherein their effectiveness is measured. Similarly,scene understanding algorithms depend on specific scene properties and fail toidentify objects in a number of situations. Both images (photos) and pointclouds are necessary to capture different aspects of a scene. While it may bea trivial task for a person to recognise objects and structures in an image or apoint cloud, this is not a straightforward task for a computer system. This isparticularly challenging in scenes comprised of an unknown number of differentobjects, where the complexity of the identification task is augmented with theadded challenge of determining object boundaries, with objects which may onlybe partially visible to the sensor due to inter-object occlusions.

Bibliography

[1] Keith Bugeja, Kurt Debattista, and Sandro Spina. An asynchronous methodfor cloud-based rendering. The Visual Computer, pages 1–14, 2018.

[2] Keith Bugeja, Kurt Debattista, Sandro Spina, and Alan Chalmers. Collab-orative high-fidelity rendering over peer-to-peer networks. In EurographicsSymposium on Parallel Graphics and Visualization, pages 9–16. The Euro-graphics Association, 2014.

[3] Cyril Crassin, David Luebke, Michael Mara, Morgan McGuire, Brent Oster,Peter Shirley, and Peter-Pike Sloan1 Chris Wyman. Cloudlight: A systemfor amortizing indirect lighting in real-time rendering. Journal of ComputerGraphics Techniques Vol, 4(4):1–27, 2015.

[4] James T Kajiya. The rendering equation. In ACM Siggraph ComputerGraphics, volume 20, pages 143–150. ACM, 1986.

[5] Tobias Ritschel, Carsten Dachsbacher, Thorsten Grosch, and Jan Kautz.The state of the art in interactive global illumination. In Computer GraphicsForum, volume 31, pages 160–188. Wiley Online Library, 2012.

[6] Sandro Spina, Kurt Debattista, Keith Bugeja, and Alan Chalmers. Pointcloud segmentation for cultural heritage sites. In Proceedings of the 12thInternational conference on Virtual Reality, Archaeology and Cultural Her-itage, pages 41–48. Eurographics Association, 2011.

[7] Eric Veach and Leonidas J Guibas. Metropolis light transport. In Proceed-ings of the 24th annual conference on Computer graphics and interactivetechniques, pages 65–76. ACM Press/Addison-Wesley Publishing Co., 1997.

Page 21: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Area: Runtime verificationof smart contracts forblockchains and DistributedLedger Technologies

Supervised by: Gordon Pace, Joshua Ellul

Runtime verification is a technique used to transform a specification into ver-ification code which is injected in a system such that one obtains a version whichcontinuously monitors for violation of the specification, hence guaranteeing thatany incorrect behaviour is immediately discovered and addressed.

Smart contracts are essentially programs which executed, in a trusted man-ner, code affecting a network of peers. Their most widespread use is that onblockchain and distributed ledger technologies (DLTs), where such code handlesand regulates the interaction between users, including transfers of digital assetssuch as cryptcurrency. Since such contracts may handle the equivalent on mil-lions of euros worth of assets, their correctness is crucial, and there have beenvarious documented cases of bugs which led to the loss of hundreds of millions.

We have recently built Contract Larva1 which handles runtime verificationof smart contracts written in the programming language Solidity for Ethereum(and other DLTs) [1]. There are various topics of exploratory research whichstudents may participate in at this stage, including:

• Extending Contract Larva to handle Solidity language features which arenot currently covered e.g. arrays and mappings.

• Exploring alternative architectures of the tool to construct monitors indifferent ways.

• Applying Contract Larva to a number of real world smart contract projects.

Bibliography

[1] Shaun Azzopardi, Joshua Ellul, and Gordon J. Pace. Monitoring smartcontracts: Contractlarva and open challenges beyond. In Christian Colomboand Martin Leucker, editors, Runtime Verification, pages 113–137, Cham,2018. Springer International Publishing.

1See github.com/gordonpace/contractLarva.

21

Page 22: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Area: Static analysis ofSmart Contracts using KeY

Supervised by: Gordon Pace, Joshua Ellul

The KeY system2 allows the automatic and semi-automatic verification ofpre- and post-conditions of Java programs. We have recently [1] shown how itcan also be used to verify Solidity smart contracts on the Ethereum blockchainplatform (see the previous proposal for more information about smart contractsand blockchain).

There are various topics of exploratory research which students may partic-ipate in at this stage, including:

• Extending the translation from Solidity to Java to handle a larger subsetof the Solidity language for verification.

• Applying the approach to a number of real world smart contract projects.

• Exploring concrete ways of combining runtime verification (see the previ-ous proposal) and verification using KeY.

Bibliography

[1] Wolfgang Ahrendt, Richard Bubel, Joshua Ellul, Gordon J. Pace, RaulPardo, Vincent Rebiscoul, and Gerardo Schneider. Verification of smartcontract business logic exploiting a java source code verifier. In 8th IPMInternational Conference on Fundamentals of Software Engineering (FSEN2019), 2019.

2See www.key-project.org.

22

Page 23: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Area: The Run-timePerformance of ConcurrentPrograms

Supervised by: Kevin VellaKeywords: Concurrency, SystemsWhile the Go language’s [2] run-time scheduler is quite fast and efficient whencompared to other concurrent language run-times, the cache churn that is typ-ically observed after the scheduler switches between thread contexts can sub-stantially degrade application performance [5]. Thread batching [7] has beenproposed as a way to counter this phenomenon in concurrent languages suchas Manticore [3], occam-pi [6] and Go [1] itself. Moreover, the application oflock-free and wait-free [4] techniques to streamline scheduler internals may yieldadditional improvements in application performance.

The Go language’s run-time system and scheduler is itself written in Go,resulting in a relatively readable code base. The aim of this family of projectsis to broadly reengineer Go’s run-time system to incorporate a range of im-provements, and to conduct experiments that quantify their effect on run-timeperformance.

Bibliography

[1] Neil Deshpande, Erica Sponsler, and Nathaniel Weiss. Analysis of the goruntime scheduler. Columbia University, 2012.

[2] Alan AA Donovan and Brian W Kernighan. The Go programming language.Addison-Wesley Professional, 2015.

[3] Matthew Fluet, Mike Rainey, John Reppy, Adam Shaw, and Yingqi Xiao.Manticore: A heterogeneous parallel language. In Proceedings of the 2007Workshop on Declarative Aspects of Multicore Programming, DAMP ’07,pages 37–44, New York, NY, USA, 2007. ACM.

[4] Maurice Herlihy and Nir Shavit. The Art of Multiprocessor Programming.Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2008.

[5] Jeffrey C. Mogul and Anita Borg. The effect of context switches on cacheperformance. In ASPLOS, 1991.

[6] Carl G. Ritson, Adam T. Sampson, and Fred R. M. Barnes. Multicorescheduling for lightweight communicating processes. Sci. Comput. Program.,77:727–740, 2009.

23

Page 24: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

24

[7] Kevin Vella. Seamless Parallel Computing on Heterogeneous Networks ofMultiprocessor Workstations. PhD thesis, University of Kent at Canterbury,December 1998.

Page 25: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

Area: Coding Theory,Image Processing and GPUComputing

Supervised by: Johann Briffa

My general research interests involve Coding Theory (both Error Controland Data Compression), Signal / Image Processing, and High-Performance /GPU Computing.

Current topics of interest for the supervision of final year projects are listedbelow. While I am happy to supervise students with any background, keep inmind that suitability for a project topic depends on the student’s background(e.g. for imaging one would need background in signal or image processing).In all cases, the student needs to have a solid programming background (anylanguage) and willingness to learn new languages and APIs as needed.

High-Performance / GPU Computing Generally these will involve pro-gramming NVIDIA GPUs using CUDA, for the implementation of sci-entific algorithms [software development, with potential for publicationand further research]

Signal / Image processing Generally these will involve the implementationof new algorithms for light-field imaging and other next-generation appli-cations, possibly including experimental work [some software development,research-oriented]

Coding Theory These are likely to involve algorithms for designing and de-coding codes for insertion-deletion channels, as applicable to high densitymagnetic recording, DNA storage, etc. [software development, with po-tential for publication and further research]

Software Development Some specific applications for Android, Google APIs,ARM microcontrollers etc. These projects are of a software-developmentnature; some of these have potential for publication. These tend to bemore application-oriented and proofs of concept.

Bibliography

[1] Wissam Albukhanajer, Johann A. Briffa, and Yaochu Jin. Evolutionarymulti-objective image feature extraction in the presence of noise. IEEETrans. Cybern., 45(9):1757–1768, September 2014.

25

Page 26: BSc(Hons) Computing Science Proposals for …...an attempt to simulate the human learning paradigm (see example applied in a language setting, [5], and in image setting, [3, 4]). Additionally,

26

[2] Wissam Albukhanajer, Yaochu Jin, and Johann A. Briffa. Classifier ensem-bles for image identification using multi-objective pareto features. Neuro-computing, pages 316–327, 2017.

[3] Ali Alshehri, Johann A. Briffa, Steve Schneider, and Stephan Wesemeyer.Formal security analysis of NFC m-coupon protocols using Casper/FDR.In Intern. Workshop on Near Field Communication, Zurich, Switzerland,February 5, 2013.

[4] Johann A. Briffa. Graphics processing unit implementation and optimiza-tion of a flexible maximum a-posteriori decoder for synchronisation correc-tion. IET Journal of Engineering, June 11th 2014.

[5] Johann A. Briffa and Victor Buttigieg. A MAP decoder for TVB codeson a generalized Iyengar-Siegel-Wolf BPMR Markov channel model. IEEETrans. Magn., 52(2):1–9, February 2016.

[6] Johann A. Briffa, Victor Buttigieg, and Stephan Wesemeyer. Time-varyingblock codes for synchronization errors: Maximum a posteriori decoder andpractical issues. IET Journal of Engineering, June 30th 2014.

[7] Johann A. Briffa and Stephan Wesemeyer. SimCommSys: Taking the er-rors out of error-correcting code simulations. IET Journal of Engineering,June 30th 2014.

[8] Victor Buttigieg and Johann A. Briffa. Time-varying variable-length error-correcting codes. In Proc. IEEE Intern. Symp. on Inform. Theory and itsApplications, Singapore, October 28–31, 2018.

[9] Thomas P. Diakos, Johann A. Briffa, Tim W. C. Brown, and StephanWesemeyer. Eavesdropping near field contactless payments: A quantitativeanalysis. IET Journal of Engineering, October 29th, 2013.

[10] Noel Farrugia, Johann A. Briffa, and Victor Buttigieg. An evolutionarymultipath routing algorithm using SDN. In Intern. Conf. on Network ofthe Future, Pozna, Poland, November 19–21, 2018.

[11] Noel Farrugia, Johann A. Briffa, and Victor Buttigieg. Solving the multi-commodity flow problem using a multi-objective genetic algorithm. In Proc.IEEE Congress on Evolutionary Computation, Wellington, New Zealand,June 10–13, 2019.

[12] Noel Farrugia, Victor Buttigieg, and Johann A. Briffa. A globally optimisedmultipath routing algorithm using SDN. In Proc. Conf. on Innovationin Clouds, Internet and Networks (ICIN), Paris, France, February 20–22,2018.

[13] Irene Sciriha, Johann A. Briffa, and Mark Debono. Fast algorithms for in-dices of nested split graphs approximating real complex networks. DiscreteApplied Mathematics, 247:152–164, 2018.