-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresearch.html
383 lines (293 loc) · 15 KB
/
research.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
<!DOCTYPE html>
<html>
<head>
<meta name="generator"
content="HTML Tidy for HTML5 for Apple macOS version 5.6.0">
<meta charset="iso-8859-1">
<meta http-equiv="X-UA-Compatible"
content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1">
<title>Research</title>
<meta name="description"
content=
"Homepage of Prof Bernhard Scholz. <br> The University of Sydney.">
<link rel="stylesheet"
href="/css/main.css">
<link rel="canonical"
href="http://b-scholz.github.io/research.html">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-68116779-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<header class="site-header">
<div class="wrapper">
<a class="site-title"
href="/">Bernhard Scholz</a>
<nav class="site-nav">
<a href="#"
class="menu-icon"><svg viewbox="0 0 18 15">
<path fill="#424242"
d=
"M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z">
</path>
<path fill="#424242"
d=
"M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z">
</path>
<path fill="#424242"
d=
"M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z">
</path></svg></a>
<div class="trigger">
<a class="page-link"
href="/research.html">Research</a> <a class="page-link"
href="/resume.html">Resume</a> <a class="page-link"
href="/teaching.html">Teaching</a> <a class="page-link"
href="/pubs.html">Publications</a> <a class="page-link"
href="/software.html">Software</a>
</div>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="post">
<header class="post-header">
<h1 class="post-title">Research</h1>
</header>
<article class="post-content">
<p>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:
<ul>
<li>
<p>Logic Synthesis: The <a href="https://souffle-lang.github.io">Souffle Programming Language</a> </p>
</li>
<li>
<p>Static program analysis with first-order logic for Java and Smart-Contracts</p>
</li>
<li>
<p>Stream programming for parallel computing</p>
<li> <a href=Curracurrong> Curracurrong </a> </li>
</li>
<li>
<p>Query languages for wireless sensor networks</p>
</li>
<li>
<p>Automatic detection of bugs in large-scale C/C++
systems code (co-inventor of the Parfait tool, Oracle Labs, Brisbane)</p>
</li>
<li>
<p>Compiler optimisations for embedded systems as a
partitioned boolean quadratic programming problem
including register allocation, instruction selection,
bank selection and address mode generation</p>
</li>
<li>
<p>Symbolic and data-flow analysis for parallelizing compilers (e.g., high-performance FORTRAN)</p>
</li>
</ul>
<h2 id="current-postgraduate-students">Current Research Students / PostDocs
</h2>
<ul>
<li> David Zhao, PhD Candidate </li>
<li> Henry Lyndon, MPhil Candidate </li>
<li> Xiaowen Hu, PhD Candidate </li>
<li> Kamil Jezek, PostDoc </li>
</ul>
<h2 id="former-postgraduate-students">Former Postgraduate
Students</h2>
<ul>
<li> Eddie Toth, Ph.D., 2019, <em> Detecting Group Deviations </em> </li>
<li> Nicholas Hollingum, Ph.D., 2018, <em> On the Practice and Application of Context-Free Language
Reachability </em> </li>
<li> Wasuwee Sodsong, Ph.D., 2018, <em>Parallelization Techniques for Heterogeneous Multicores with
Applications </em> </li>
<li> Youson Ko, Ph.D., 2016, <em>Semantic-Preserving Transformation for Stream Orchestration on
Multicores</em> </li>
<li>Vasvi Kakkad, PhD 2015, <em>Curracurrong: A Stream
Processing System for Distributed Environments</em></li>
<li>Paul Subotic, MPhil 2014, <em>Applying
Elimination-Based Algorithms to Abstract
Interpretation</em></li>
<li>S. M. Farhad, PhD 2013, <em>Orchestration of Stream
Graphs on Multicores</em></li>
<li>Lang Hames, PhD 2012, <em>Specification Driven Register
Allocation</em></li>
<li>Surinder Jain, MPhil 2011, <em>Detecting Buffer
Overflows in Imperative Programs</em></li>
<li>Saeed Attar, MPhil 2010, <em>Cascade: Design and
Implementation of a Stream Programming Environment for
Wireless Sensor Networks</em></li>
<li>Stefan Schaefer, MPhil, 2005, <em>Aspects of Embedded
Systems</em></li>
</ul>
<h2 id="former-postdocs">Former PostDocs</h2>
<ul>
<li> Dr. Martin McGrane, PostDoc and Casual Research Assistant </li>
<li> Tytus Metrycki, Casual Research Assistant </li>
<li> Abdul Zreika, Casual Research Assistant </li>
<li> Tyson Thomas, Casual Research Assistant </li>
<li> Oliver Samson Scarlet, Casual Research Assistant </li>
<li> Dr. Andrew Santosa, PostDoc, 2/2011-11/2012</li>
<li> Dr. Thomas Gawlitza, PostDoc, 9/2011-8/2012</li>
<li> Dr. Bernd Burgstaller, PostDoc, 7/2005-8/2007</li>
<li> Dr. Mohamed Medhat Gaber, PostDoc, 8/2006- 2007/3</li>
</ul>
<h2 id="honours-students-and-4th-year-ee-students">Honours
Students and 4th-year EE Students</h2>
<ul>
<li> Samuel Isaac Arch, 4-th year Software Engineering Degree, 2020, University Medal </li>
<li> Xiaowen Hu, Honours, 2020, First Class </li>
<li> Rachel Dowavic, Honours, 2020, First Class </li>
<li> Joshua Karp, 4-th year Software Engineering Degree, 2020, First Class </li>
<li> Brody Franks, Honours 2019, University Medal </li>
<li> Kirk John Braid, 4-th year EE </li>
<li> Jixiang Shen, Honours, 2019 </li>
<li> Abdul Zreika, Honours, 2018, University Medal </li>
<li> Patrick Nappa, Honours, 2018, University Medal </li>
<li> Lexi Brent, Honours, 2018, University Medal </li>
<li> David Zhao, Honours, 2017, University Medal </li>
<li> Lyndon Henry, Honours, 2017, <em>Souffle in the Cloud</em> </li>
<li> Jeff Lieberman, 4-th year EE, 2017</li>
<li> Zachary Henwood, 4-th year EE, 2017 </li>
<li>George Karpenkov, Honours, 2012, <em>Bug-Checking
through Static Analysis Techniques within the
LLVM-framework</em></li>
<li>Carlo Zancanaro, Honours, 2012, <em>Implementing and
Evaluating a Strategy-Iteration Based Static Analyser
within the LLVM framework</em></li>
<li>Nicholas Hollingum, Honours, 2011, <em>Fault Tolerance
for Cloud-Based Streaming Programs</em></li>
<li>Vitalik Nikolyenko, Honours, 2011, <em>Instruction
Scheduling using Convex Optimization</em></li>
<li>Dominic Balasuriya, Honours, 2010,
<em>Accelerating the Execution of Matrix Languages on
Multi-Cores and GPGPUs</em></li>
<li>Raymes Khoury, Honours (University Medal), 2009, <em>Accelerating
the Execution of Matrix Languages on the Cell Broadband
Engine Architecture</em></li>
<li>Justin Byrnes, 4th-EIE, 2008, <em>Programming
the Cell Processor with the PlayStation 3</em></li>
<li>David Goswell, 4th-EIE, 2008, <em>Programming
the General Purpose Graphical processing units</em></li>
<li>Quan H. Nguyen, 4th-EIE, 2005, <em>A Unified
Approach for SSA Algorithms</em></li>
<li>Darren Kwok, Honours, 2006, <em>Speculative
Partial Redundancy Elimination</em></li>
<li>David Blaikie, Honours, 2005, <em>SSA-Graph
driven Instruction Selection with Partitioned Boolean
Quadratic Programming</em></li>
<li>Lang Hames, Honours, 2005, <em>Register
Allocation for Irregular Architectures</em></li>
<li>Harry Beeche, Honours Student, 2004, <em>Minimising
Bank Selection for Embedded Processors</em></li>
</ul>
<h2 id="acquired-grants">Acquired Grants</h2>
<ul>
<li> <em> Adaptive Key-value Store for Future Extreme Heterogeneous Systems </em> with
Alan Fekete, Willy Zwaenepoel, Shuaiwen Song , Discovery Project, 2021-2023. </li>
<li> CERA Program, Strategic Research Initiative from the Cyber and Electronic Warfare Division (CEWD) of the Defence Science and Technology Group (DST), <em>ARM Binary Translator</em> </li>
<li> Fantom Operations Ltd / Fantom Foundation, Unrestricted Research Grant, <em>Implementation of a New
Programming Tool-Chain for Smart-Contracts and VM</em>, 2018. </li>
<li> AWS Amazon, Research Donation, <em>Program Analysis using Souffle</em>, 2017. </li>
<li> <em> Taipan: a block-chain with democratic consensus and validated contracts. </em>
with Vincent Gramoli, Alan Fekete, Ralph Holz. Australian Research Council, Discovery Project,
Jan. 2018- Dec. 2020.</li>
<li><em>Finding Concurrency Bugs in Multithreaded
Software</em>, with J. Xue, Australian Research Council,
Discovery Project, Jan. 2013 - Dec. 2015.</li>
<li><em>Towards Smart Sydney: University-wide IoT Data Collection Platform Recipients</em>
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.</em>
</li>
<li><em>Programming Many-Cores</em>, with V. Gramoli, Major
Equipment Scheme, Faculty of Engineering and IT, University
of Sydney, 2013.</li>
<li><em>Research Donation: Program Analysis</em>, Oracle
Labs funded Lecturer position, Sept. 2011- Aug. 2013</li>
<li><em>Computing with Nearly Consistent Data</em>, with A.
Fekete, Australian Research Council, Discovery Project,
Jan. 2010 - Dec. 2012.</li>
<li><em>Distributed Data Processing for Wireless Sensor
Networks</em>, with S. Selvadurai, U. Roehm, Australian
Research Council, Discovery Project, Jan. 2006 - Dec.
2008.</li>
<li><em>Compilation Techniques for Embedded Systems</em>,
Sole Chief Investigator, Australian Research Council,
Discovery Project, Jan. 2005 - Dec. 2007.</li>
<li><em>Just-In-Time Code Generation</em>, Sole Chief
Investigator, SUN Grant, Industrial Collaboration with Sun
Microsystems Research Labs, CA, Sep. 2004 - Oct. 2006.</li>
<li><em>Speculative Partial Redundancy Elimination</em>,
Sole Chief Investigator, R&D Grant Scheme, University
of Sydney Grant, Competitive Funding, Jan. 2005 - Dec.
2005.</li>
<li><em>Wireless Sensor Networks</em>, with Selvakennedy
Selvadurai, Albert Zomaya, Uwe Roehm, Tasos Viglas, ARC EII
Taskforce, Jul. 2005 - Feb. 2006.</li>
</ul>
<h2 id="patents">Patents
</h2>
<ul>
<li><em>Layered static program analysis framework for software testing</em>, US8527965B2, SUN Microsystems
Lab </li>
<li><em>Method and system for fast static taint analysis</em>, US8327339B2, SUN Microsystems Lab </li>
<li><em>System and method for overflow detection using partial evaluations</em>, US8578343B2, SUN Microsystems Lab </li>
<li><em>Declarative program engine for large-scale program analysis</em>, US8527965B2, Oracle Labs </li>
<li><em>Selective object sensitive points-to analysis</em>, US10318257B2, Oracle Labs </li>
<li><em>Staged points-to analysis for large code bases</em>, US9367307B2, Oracle Labs </li>
<li><em>Scalable provenance generation from points-to information</em>, US9811322B1, Oracle Labs </li>
<li><em>Combining type-analysis with points-to analysis for analyzing library source-code</em>,
US9336397B2, Oracle Labs </li>
<li><em>Optimal index selection in polynomial time</em>, US20170161324A1, Oracle Labs </li>
</ul>
</article>
</div>
</div>
</div>
<footer class="site-footer">
<div class="wrapper">
<div class="footer-col-wrapper">
<div class="footer-col footer-col-1">
<ul class="contact-list">
<li>Bernhard Scholz</li>
<li>
<a href=
"mailto:[email protected]">[email protected]</a>
</li>
</ul>
</div>
<div class="footer-col footer-col-2">
<ul class="social-media-list">
<li>
<a href=
"http://dblp.uni-trier.de/pers/hd/s/Scholz:Bernhard"><span class="username">
DBLP</span></a>
</li>
<li>
<a href=
"https://scholar.google.com.au/citations?user=0z6_oNEAAAAJ&hl=en">
<span class="username">Google-Scholar</span></a>
</li>
</ul>
</div>
<div class="footer-col footer-col-3">
<p class="text">Homepage of Prof Bernhard Scholz.<br>
The University of Sydney.</p>
</div>
</div>
</div>
</footer>
</body>
</html>