Oceania Researchers in Cloud and Adaptive-systems (ORCA): Ohu Rangahau Kapua Aunoa
The Oceania Researchers in Cloud and Adaptive-systems (ORCA) lab–known as Ohu Rangahau Kapua Aunoa in Te Reo Māori–was formed in 2018 at the Department of Computer Science, University of Waikato. Its mission is to facilitate excellent research in the fields of Self-Adaptive and Self-Organizing software systems focusing on Cloud, Language Runtime and Embedded Systems.
Self-Adaptive Software is an exciting new field merging ideas from traditional Software Engineering and Computer Systems, with Artificial Intelligence (AI), Machine Learning (ML), Control Theory, Data-Driven Control, Game Theory, etc. Its goal is to enable applications to satisfy dynamically changing requirements in a dynamically changing environment. Self-Organization studies how groups of potentially adaptive agents behave over time.
Our Team
The ORCA lab is currently led by Dr. Panos Patros, a Lecturer (equivalent to an Assistant Professor in North America) in Software Engineering. Panos completed his Master's and PhD in Computer Science, in collaboration with IBM, at the University of New Brunswick, Canada before moving to the Waikato.
University of Waikato and the NZ Golden Triangle
ORCA is part of the University of Waikato, which is internationally famous in Computer Science and Software Engineering due to its cutting-edge research, software projects such as WEKA, MOA and WATERS, home of the first Cyber Security group and STRATUS, the largest Cyber Security research project in NZ, and being the first place providing Internet in New Zealand.
As such, the university has been recording a constant rise in world rankings over the last years and attracts great talent from both NZ and crucially, overseas. According to QS, the University of Waikato Ranks as the Best Research University in New Zealand and #72 in the world, as measured by the number of citations per faculty.
The University of Waikato has two Campuses: one in Hamilton and the other in Tauranga. Both are located in what is described as the Golden Triangle of NZ (the areas between Hamilton, Tauranga and Auckland), which is an area experiencing a tremendous growth both in terms of population and IT-oriented industries.
The ORCA lab currently operates in the Hamilton campus. Hamilton is a growing city of quarter million with all the expected amenities and centrally located in the heart of New Zealand's beautiful North Island. Attractions such as the Tongariro Crossing (Mount Doom), Mata Mata (Hobbiton), Raglan (surfing capital of the world), Lake Taupo (huge volcanic crater-lake) and Mount Maunganui (volcanic hill in Tauranga) are conveniently situated around Hamilton.
Software Products
The tool can be used both for obfuscating a folder of files [folder mode] or splitting (into its methods) and obfuscating an individual .java file [file mode]
Rhys Compton, Eibe Frank, Panos Patros, and Abigail Koay. "Embedding Java Classes with code2vec: Improvements from Variable Obfuscation." To appear in proceedings 2020 IEEE/ACM 17th International Conference on Mining Software Repositories (MSR 2020). Preprint
Available on GitHub
This tool uses a trained code2vec model to convert a dataset of .java files into a numerical form (.arff by default), that can then be used with any standard classifier.
Rhys Compton, Eibe Frank, Panos Patros, and Abigail Koay. "Embedding Java Classes with code2vec: Improvements from Variable Obfuscation." To appear in proceedings 2020 IEEE/ACM 17th International Conference on Mining Software Repositories (MSR 2020). Preprint
This library was designed as a project that required the ability to implement a Linear Quadratic Regulator in Java, however, to my knowledge there is no existing library that can evaluate an LQR controller in Java. The main focused for this library is to implement basic functions that are used in similar libraries such as the Python Control Systems Library by implementing the basic functions of implementing and validating a system along with the evaluation of the gain matrix K. Currently this library is a rough draft and may be missing many other functions that are required by a control library such a pole placement and a number of system stability functions.
Publications
Embedding Java Classes with code2vec: Improvements from Variable Obfuscation
Work led by ORCA Honors of Software Engineering student Rhys Compton (along with Eibe, Abigail, and Panos) has been accepted as a full research paper in the upcoming Conference on Mining Software Repositories (MSR 2020) - a part of ICSE 2020.
In this work, we investigated using machine learning to perform automatic source code analysis. We used our technique to classify code for a variety of circumstances into a range of buckets, such as malware type and author.
Our new collection of source-code proves a challenging platform for classification problems, and our results show that obfuscating variable names produce more robust models. These models are an improvement in both their imperviousness to variable naming and their ability to reflect the code semantics.
More information:
- Article Link: ACM
- Repository: https://github.com/basedrhys/obfuscated-code2vec
The Weakest Link: Revealing and Modeling the Architectural Patterns of Microservice Applications
Authors: Vladimir Podolskiy, Maria Patrou, Panos Patros, Michael Gerndt, Kenneth B. Kent
Cloud microservice applications comprise interconnected services packed into containers. Such applications generate complex communication patterns among their microservices. Studying such patterns can support assuring various quality attributes, such as autoscaling for satisfying performance, availability and scalability, or targeted penetration testing for satisfying security and correctness. We study the structure of containerized microservice applications via providing the methodology and the results of a structural graph-based analysis of 103 Docker Compose deployment files from open-sourced GitHub repositories. Our findings indicate the dominance of a power-law distribution of microservice interconnections. Further analysis highlights the suitability of the Barabási-Albert model for generating large random graphs that model the architecture of real microservice applications. The exhibited structures and their usage for engineering microservice applications are discussed.
Insights into WebAssembly: compilation performance and shared code caching in Node.js
Authors: Tobias Nießen, Michael Dawson, Panos Patros, Kenneth B. Kent
Alongside JavaScript, V8 and Node.js have become essential components of contemporary web and cloud applications. With the addition of WebAssembly to the web, developers finally have a fast platform for performance-critical code. However, this addition also introduces new challenges to client and server applications. New application architectures, such as serverless computing, require instantaneous performance without long startup times. In this paper, we investigate the performance of WebAssembly compilation in V8 and Node.js, and present the design and implementation of a multi-process shared code cache for Node.js applications. We demonstrate how such a cache can significantly increase application performance, and reduce application startup time, CPU usage, and memory footprint.
Funded Projects
Software tends to be engineered without considering the requirements of under-represented groups. In collaboration with Māori and Iñupiat researchers, engineers and participants, we will establish systematic techniques to discover how software should be engineered for (and by) Māori and Indigenous Peoples. We use real software as case studies to evaluate our approach, starting with Huri Whakatau, an online discussion platform. We are developing in collaboration with ASRC Federal to provide a cloud solution to organizations, communities and researchers for assisting small groups of people to effectively reach consensus on ‘hot’ topics.
The project has a budget of $85,200 funded by:
- $40,000, 2021 Strategic Research Fund (SRF), University of Waikato
- $8,000, Research Trusts of Dr. Panos Patros, Dr. Tony Smith and AProf. Te Taka Keagan
- $31,000, in-kind contribution from ASRC Federal
- $6,000, Summer Research Scholarship, School of Computing and Mathematical Sciences, University of Waikato
ORCA staff and students involved in Huri Whakatau: Dr. Panos Patros, Dr. Tony Smith, AProf. Te Taka Keagan, Dr. Nic Vanderschantz, Dr. Andreea Calude, Chris Symon, Tamahau Brown, Alex Geary, Darcy Cowen, Priyank Vyas, Jarod Govers, Bill Li, Shaan Nagra and Alex Grant.
ASRC Federal staff involved in Huri Whakatau: Dr. Phil Feldman, Aaron Dant
Climate Change: The world and Aotearoa New Zealand are rapidly introducing legislation to mitigate its deleterious effects. NZ passed the zero-carbon emissions law in 2019 and subsequently, published a research bid for an advanced energy technology platform (AETP) to create the new energy systems science required to effectively decarbonize the industrial sector. Answering that call, a group of researchers formed in 2019 led by the University of Waikato and including the University of Auckland and Massey University, proposed Ahuora, which was successfully selected for full funding by the NZ Government.
Abstract: This project aims to create a new Adaptive Digital Twin energy-technology platform (Ahuora), underpinned by the next-generation of energy systems science, that will be accessible to engineering researchers, service providers and industrial site-owners and is essential to decarbonise the process heat sector. Research over the past several decades has shown that decarbonisation of the process heat sector cannot be solved sustainably by a single “silver bullet” energy technology; rather, it demands a range of technologies integrated with an industrial site to form a unified energy system utilising renewable energy. A net-zero-carbon process heat sector will require highly integrated, productive and efficient systems that encompass both the industrial site as well as neighbouring industries, renewable resources and communities.
The project involves researchers from the following research groups:
- Smart Energy Systems, University of Waikato
- Energy Informatics, University of Waikato
- ORCA, University of Waikato
- Industrial Information and Control Centre (I²C²), University of Auckland
- School of Food and Advanced Technology, Massey University
ORCA's participation in Project Ahuora is on a) researching how such self-adaptive systems should be engineered, b) develop, prototype and evaluate such systems, and c) oversee the software architecture of all the software products developed.
ORCA staff and students involved in Project Ahuora: Dr. Panos Patros, Alex Geary, Chris Anderson, Sara Bahr.
Funded by a Callaghan Innovations grant, this collaborative industry project with Nerra Drive Systems aims to prototype a novel AI-based EBike controller that learns the habits of its riders to maximize user enjoyment.
ORCA staff and students involved: Dr. Panos Patros, Tim Oliver, Nic, McAdam
WaiRAS staff involved: Dr. Harish Devaraj
Nerra Drive Systems staff involved: Bruce Thompson
External Collaborators
- Prof. Dr. Michael Gerndt
- Vladimir Podolskiy
Chair of Computer Architecture and Parallel Systems, Technical University of Munich
- Aaron Dandt
Software Engineering Research Laboratory
Embedded Software (EmSoft) Group
Auckland University of Technology (AUT)