My research interests are in programming languages and compilers. In particular, I have been working on static program analysis, building compilers and programming language tools, and recently I have been working on synthesis of Datalog. Please find below a more incomplete list of my research interests:
Logic Synthesis: The Souffle Programming Language
Static program analysis with first-order logic for Java and Smart-Contracts
Stream programming for parallel computing
Query languages for wireless sensor networks
Automatic detection of bugs in large-scale C/C++ systems code (co-inventor of the Parfait tool, Oracle Labs, Brisbane)
Compiler optimisations for embedded systems as a partitioned boolean quadratic programming problem including register allocation, instruction selection, bank selection and address mode generation
Symbolic and data-flow analysis for parallelizing compilers (e.g., high-performance FORTRAN)
Current Research Students / PostDocs
- David Zhao, PhD Candidate
- Henry Lyndon, MPhil Candidate
- Xiaowen Hu, PhD Candidate
- Kamil Jezek, PostDoc
Former Postgraduate Students
- Eddie Toth, Ph.D., 2019, Detecting Group Deviations
- Nicholas Hollingum, Ph.D., 2018, On the Practice and Application of Context-Free Language Reachability
- Wasuwee Sodsong, Ph.D., 2018, Parallelization Techniques for Heterogeneous Multicores with Applications
- Youson Ko, Ph.D., 2016, Semantic-Preserving Transformation for Stream Orchestration on Multicores
- Vasvi Kakkad, PhD 2015, Curracurrong: A Stream Processing System for Distributed Environments
- Paul Subotic, MPhil 2014, Applying Elimination-Based Algorithms to Abstract Interpretation
- S. M. Farhad, PhD 2013, Orchestration of Stream Graphs on Multicores
- Lang Hames, PhD 2012, Specification Driven Register Allocation
- Surinder Jain, MPhil 2011, Detecting Buffer Overflows in Imperative Programs
- Saeed Attar, MPhil 2010, Cascade: Design and Implementation of a Stream Programming Environment for Wireless Sensor Networks
- Stefan Schaefer, MPhil, 2005, Aspects of Embedded Systems
- Dr. Martin McGrane, PostDoc and Casual Research Assistant
- Tytus Metrycki, Casual Research Assistant
- Abdul Zreika, Casual Research Assistant
- Tyson Thomas, Casual Research Assistant
- Oliver Samson Scarlet, Casual Research Assistant
- Dr. Andrew Santosa, PostDoc, 2/2011-11/2012
- Dr. Thomas Gawlitza, PostDoc, 9/2011-8/2012
- Dr. Bernd Burgstaller, PostDoc, 7/2005-8/2007
- Dr. Mohamed Medhat Gaber, PostDoc, 8/2006- 2007/3
Honours Students and 4th-year EE Students
- Samuel Isaac Arch, 4-th year Software Engineering Degree, 2020, University Medal
- Xiaowen Hu, Honours, 2020, First Class
- Rachel Dowavic, Honours, 2020, First Class
- Joshua Karp, 4-th year Software Engineering Degree, 2020, First Class
- Brody Franks, Honours 2019, University Medal
- Kirk John Braid, 4-th year EE
- Jixiang Shen, Honours, 2019
- Abdul Zreika, Honours, 2018, University Medal
- Patrick Nappa, Honours, 2018, University Medal
- Lexi Brent, Honours, 2018, University Medal
- David Zhao, Honours, 2017, University Medal
- Lyndon Henry, Honours, 2017, Souffle in the Cloud
- Jeff Lieberman, 4-th year EE, 2017
- Zachary Henwood, 4-th year EE, 2017
- George Karpenkov, Honours, 2012, Bug-Checking through Static Analysis Techniques within the LLVM-framework
- Carlo Zancanaro, Honours, 2012, Implementing and Evaluating a Strategy-Iteration Based Static Analyser within the LLVM framework
- Nicholas Hollingum, Honours, 2011, Fault Tolerance for Cloud-Based Streaming Programs
- Vitalik Nikolyenko, Honours, 2011, Instruction Scheduling using Convex Optimization
- Dominic Balasuriya, Honours, 2010, Accelerating the Execution of Matrix Languages on Multi-Cores and GPGPUs
- Raymes Khoury, Honours (University Medal), 2009, Accelerating the Execution of Matrix Languages on the Cell Broadband Engine Architecture
- Justin Byrnes, 4th-EIE, 2008, Programming the Cell Processor with the PlayStation 3
- David Goswell, 4th-EIE, 2008, Programming the General Purpose Graphical processing units
- Quan H. Nguyen, 4th-EIE, 2005, A Unified Approach for SSA Algorithms
- Darren Kwok, Honours, 2006, Speculative Partial Redundancy Elimination
- David Blaikie, Honours, 2005, SSA-Graph driven Instruction Selection with Partitioned Boolean Quadratic Programming
- Lang Hames, Honours, 2005, Register Allocation for Irregular Architectures
- Harry Beeche, Honours Student, 2004, Minimising Bank Selection for Embedded Processors
- Adaptive Key-value Store for Future Extreme Heterogeneous Systems with Alan Fekete, Willy Zwaenepoel, Shuaiwen Song , Discovery Project, 2021-2023.
- CERA Program, Strategic Research Initiative from the Cyber and Electronic Warfare Division (CEWD) of the Defence Science and Technology Group (DST), ARM Binary Translator
- Fantom Operations Ltd / Fantom Foundation, Unrestricted Research Grant, Implementation of a New Programming Tool-Chain for Smart-Contracts and VM, 2018.
- AWS Amazon, Research Donation, Program Analysis using Souffle, 2017.
- Taipan: a block-chain with democratic consensus and validated contracts. with Vincent Gramoli, Alan Fekete, Ralph Holz. Australian Research Council, Discovery Project, Jan. 2018- Dec. 2020.
- Finding Concurrency Bugs in Multithreaded Software, with J. Xue, Australian Research Council, Discovery Project, Jan. 2013 - Dec. 2015.
- Towards Smart Sydney: University-wide IoT Data Collection Platform Recipients with Wei Bao, Athman Bouguettaya, Vincent Gramoli, Ralph Holz, Uwe Roehm, Suranga Seneviratne, Bernhard Scholz, Kanchana Thilakrathna, Bing Zhou, Albert Zomaya. Faculty of Engineering and IT, Major Equipment Scheme, 2017.
- Programming Many-Cores, with V. Gramoli, Major Equipment Scheme, Faculty of Engineering and IT, University of Sydney, 2013.
- Research Donation: Program Analysis, Oracle Labs funded Lecturer position, Sept. 2011- Aug. 2013
- Computing with Nearly Consistent Data, with A. Fekete, Australian Research Council, Discovery Project, Jan. 2010 - Dec. 2012.
- Distributed Data Processing for Wireless Sensor Networks, with S. Selvadurai, U. Roehm, Australian Research Council, Discovery Project, Jan. 2006 - Dec. 2008.
- Compilation Techniques for Embedded Systems, Sole Chief Investigator, Australian Research Council, Discovery Project, Jan. 2005 - Dec. 2007.
- Just-In-Time Code Generation, Sole Chief Investigator, SUN Grant, Industrial Collaboration with Sun Microsystems Research Labs, CA, Sep. 2004 - Oct. 2006.
- Speculative Partial Redundancy Elimination, Sole Chief Investigator, R&D Grant Scheme, University of Sydney Grant, Competitive Funding, Jan. 2005 - Dec. 2005.
- Wireless Sensor Networks, with Selvakennedy Selvadurai, Albert Zomaya, Uwe Roehm, Tasos Viglas, ARC EII Taskforce, Jul. 2005 - Feb. 2006.
- Layered static program analysis framework for software testing, US8527965B2, SUN Microsystems Lab
- Method and system for fast static taint analysis, US8327339B2, SUN Microsystems Lab
- System and method for overflow detection using partial evaluations, US8578343B2, SUN Microsystems Lab
- Declarative program engine for large-scale program analysis, US8527965B2, Oracle Labs
- Selective object sensitive points-to analysis, US10318257B2, Oracle Labs
- Staged points-to analysis for large code bases, US9367307B2, Oracle Labs
- Scalable provenance generation from points-to information, US9811322B1, Oracle Labs
- Combining type-analysis with points-to analysis for analyzing library source-code, US9336397B2, Oracle Labs
- Optimal index selection in polynomial time, US20170161324A1, Oracle Labs