GREGORY J. DUCK


Δ Info

Gregory J. Duck
Research Assistant Professor
National University of Singapore
Office: COM2-03-33
Email:

Δ Bio

Gregory is a Research Assistant Professor at the National University of Singapore and currently serves as the Assistant Director of the National Satellite of Excellence in Trustworthy Software Systems (Singapore).

Previously, Gregory received his BSc (Mathematics) and BEng (Software) from the University of Melbourne in 2002, and his Phd (Computer Science) in 2006, also from the University of Melbourne. From 2005-2009 he was a researcher for National ICT Australia (NICTA) working for the G12 project. For 2009-2010 he worked for Constraint Technologies in Melbourne. From 2011 onwards he works at the National University of Singapore.

Gregory's research interests include: systems, security, binary rewriting, programming languages, constraint programming, functional programming and rewrite systems.

Δ Projects

  • E9Patch: A powerful static binary rewriter.
    • E9Syscall: System call hooking using static binary rewriting.
    • E9AFL: Binary fuzzing using AFL.
  • EffectiveSan: Type and memory error detection using dynamically typed C/C++
  • LowFat - Lean program hardening with low-fat pointers.
  • LibF++ - immutable data structures for pure functional programming in C++ [documentation]
  • SMCHR: Satisfiability Modulo Constraint Handling Rules.
  • GC - Garbage Collector: A simple conservative garbage collector for C programs on 64-bit Linux.
  • SAT.js - Javascript SAT Solver: A SAT solver that runs on your browser.
  • Cadmium: An implementation of ACD Term Rewriting.

Δ Publications

Conference/Journal Publications:

  • Ridwan Shariffdeen, Xiang Gao, Gregory J. Duck, Shin Hwei Tan, Julia Lawall, Abhik Roychoudhury, Automated Patch Backporting in Linux (Experience Paper), International Symposium on Software Testing and Analysis (ISSTA), 2021 [Accepted]
  • Xiang Gao, Bo Wang, Gregory J. Duck, Ruyi Ji, Yingfei Xiong, Abhik Roychoudhury, Beyond Tests: Program Vulnerability Repair via Crash Constraint Extraction, Transactions on Software Engineering and Methodology (TOSEM), 2021
  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020, [github] [absract]
  • Gregory J. Duck, Joxan Jaffar, and Roland H. C. Yap, Shape Neutral Analysis of Graph-based Data-structures, International Conference on Logic Programming (ICLP), Theory and Practice of Logic Programming (TPLP), 2018, [abstract]
  • Gregory J. Duck, Roland H. C. Yap, EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++, Programming Language Design and Implementation (PLDI), 2018, [github] [download] [abstract]
  • Gregory J. Duck, Roland H. C. Yap, Lorenzo Cavallaro, Stack Bounds Protection with Low Fat Pointers, Network and Distributed System Security Symposium (NDSS), 2017 [github] [abstract]
  • Gregory J. Duck, Roland H. C. Yap, Heap Bounds Protection with Low Fat Pointers, Compiler Construction (CC), 2016 [github] [abstract]
  • Gregory J. Duck, Rémy Haemmerlé and Martin Sulzmann, On Termination, Confluence and Consistent CHR-based Type Inference, International Conference on Logic Programming (ICLP), Theory and Practice of Logic Programming (TPLP), 2014 [abstract]
  • Gregory J. Duck, Joxan Jaffar, Nicolas C. H. Koh, Constraint-based Program Reasoning with Heaps and Separation, Constraint Programming (CP), 2013 [github] [abstract]
  • Gregory J. Duck, Satisfiability Modulo Constraint Handling Rules (Extended Abstract), International Joint Conference on Artificial Intelligence (IJCAI), 2013 [github] [abstract]
  • Gregory J. Duck, SMCHR: Satisfiability Modulo Constraint Handling Rules, International Conference on Logic Programming (ICLP), Theory and Practice of Logic Programming (TPLP), 2012. [github] [abstract]
    ★ ICLP 2012 Best Paper Award ★
  • Leslie De Koninck, Gregory J. Duck, and Peter J. Stuckey. Demand-driven normalisation for ACD term rewriting, International Conference on Logic Programming (ICLP), 2009.
  • Gregory J. Duck, Peter J. Stuckey, Leslie De Koninck, Cadmium: An Implementation of ACD Term Rewriting, International Conference on Logic Programming (ICLP), 2008. [github]
  • Leslie De Koninck, Peter J. Stuckey, and Gregory J. Duck, Optimizing compilation of CHR with rule priorities, Symposium on Functional and Logic Programming (FLOPS), 2008.
  • Sebastian Brand, Gregory J. Duck, Jakob Puchinger, and Peter J. Stuckey, Flexible, Rule-based Constraint Model Linearisation, Practical Aspects of Declarative Languages (PADL), 2008.
  • Martin Sulzmann, Gregory J. Duck, Simon Peyton-Jones, Peter J. Stuckey, Understanding Functional Dependencies via Constraint Handling Rules, Journal of Functional Programming, 2007.
  • Gregory J. Duck, Peter J. Stuckey, and Martin Sulzmann, Observable Confluence for Constraint Handling Rules, International Conference on Logic Programming (ICLP), 2007.
  • Nicholas Nethercote, Peter J. Stuckey, Ralph Becket, Sebastian Brand, Gregory J. Duck and Guido Tack. MiniZinc: Towards a Standard CP Modelling Language, Constraint Programming (CP), 2007.
  • Tom Schrijvers, Bart Demoen, Gregory J. Duck, Peter J. Stuckey, Thom W. Frühwirth, Automatic Implication Checking for CHR Constraints, Electronic Notes in Theoretical Computer Science, 2006
  • Gregory J. Duck, Peter J. Stuckey, Sebastian Brand, ACD Term Rewriting, International Conference on Logic Programming (ICLP), 2006. [github]
  • Tom Schrijvers, Peter J. Stuckey, Gregory J. Duck, Abstract Interpretation for Constraint Handling Rules, Principles and Practice of Declarative Programming (PPDP), 2005
  • Christian Holzbaur, Maria Garcia de la Banda, Peter J. Stuckey, and Gregory J. Duck. Optimizing Compilation of Constraint Handling Rules in HAL, Special Issue of Theory and Practice of Logic Programming on Constraint Handling Rules, 2004.
  • Gregory J. Duck, Maria Garcia de la Banda, Peter J. Stuckey. Compiling Ask Constraints, International Conference on Logic Programming (ICLP), 2004.
  • Gregory J. Duck, Peter J. Stuckey, Maria Garcia de la Banda, Christian Holzbaur. The Refined Operational Semantics of Constraint Handling Rules, International Conference on Logic Programming (ICLP), 2004.
    ★ ICLP 2014 Test of Time Award (10 Years) ★
  • Gregory J. Duck, Simon Peyton Jones, Peter J. Stuckey, and Martin Sulzmann. Sound and Decidable Type Inference for Functional Dependencies, European Symposium on Programming (ESOP), 2004.
  • Gregory J. Duck, Peter J. Stuckey, Maria Garcia de la Banda, and Christian Holzbaur. Extending Arbitrary Solvers with Constraint Handling Rules, Principles and Practice of Declarative Programming (PPDP), 2003.

Workshops/Reports:

Phd Thesis:


© Copyright 2021