
Stellenbosch University 1918–2018
Teaching
I teach the following courses in 2018:
- RW114 Introduction to Computer Science
- RW712 Advanced Algorithms
Previous courses I have taught
Research
My research focuses on Software Engineering, specifically formal methods
(model checking and process algebra), static analysis, testing, and open
source software. As a side-effect, I am also interested in automata and
language theory, and data structures and algorithms.
Recent Publications
-
M Dunaiski, W Visser, J Geldenhuys:
Evaluating paper and author ranking algorithms using impact and contribution awards,
JI, 2016
-
S Schreiber, J Geldenhuys, H de Villiers:
Texture Synthesis Using Convolutional Neural Networks With Long-Range Consistency and Spectral Constraints,
PRASA, 2016
-
N Rosner, J Geldenhuys, N M Aguirre, W Visser, and M F Frias:
BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support,
TSE, 2015
-
B van der Merwe, L van Zijl, J Geldenhuys:
Ambiguity and structural ambiguity of symmetric difference NFAs,
TCS, 2014
-
A Filieri, CS Pasareanu, W Visser, J Geldenhuys:
Statistical Symbolic Execution with Informed Sampling,
FSE, 2014
-
C Pasareanu, W Visser, D Bushnell, J Geldenhuys, P Mehlitz, N Rungta:
Symbolic PathFinder: Integrating Symbolic Execution with Model Checking for Java Bytecode Analysis,
ASE, 2013
-
P Jordaan, W Visser, J Geldenhuys:
Integrating JPF into Impendulo,
JPFW, 2013
-
B van der Merwe, M Faraga, J Geldenhuys:
Counting Minimal Symmetric Difference NFAs,
LATA, 2013
-
J Geldenhuys, N Aguirre, M Frias, W Visser:
Bounded Lazy Initialization,
NFM, 2013
-
J Geldenhuys, MB Dwyer, W Visser:
Probabilistic Symbolic Execution,
ISSTA, 2012
-
W Visser, J Geldenhuys, MB Dwyer:
Green: Reducing, Reusing and Recycling Constraints in Program Analysis,
FSE, 2012
-
W Visser, J Geldenhuys:
Analyzing The Software Bug Lifecycle,
SATNAC, 2012
-
J Fourie, J Geldenhuys, CP Inggs:
Improving Communication for Distributed Model Checking,
SAICSIT, 2012
-
G Redelinghuys, W Visser, J Geldenhuys:
Symbolic execution of programs with strings,
SAICSIT, 2012
All my publications and other research information
Research projects
|
Green
Coming soon
|
|
Impendulo
Coming soon
|
Student supervision
Current students:
-
Ulvi Guliyev, PhD;
from 2011; working on program comprehension and rewriting;
co-supervisor is Willem Visser.
-
Pierre le Riche, PhD;
from 2012; working on optimal memory management.
-
Marcel Dunaiski, PhD;
from 2014; working on bibliometrics;
co-supervisor is Willem Visser.
-
Shaun Schreiber, MSc;
from 2016; working on texture generation;
co-supervisor is Hennie de Villiers.
-
José Lambo, Honours project, 2016;
Customized CRM.
-
Delena Malan, Honours project, 2016;
Browser history visualization.
-
Iain Swarts, Honours project, 2016;
Genetic algorithms for test reduction.
Recently graduated:
Complete list of past students
Read this if you are
interested in pursuing a masters/doctoral degree.
Software
Bit of a mess at the moment. Let's just say "under construction".
- Change — small AWK program to apply a CWEB change file to a CWEB program
- Directed evolution — small state space search problem from Dr. Dobb's
- EvolvePhoto — a Unix version of Robert Alsing's photo evolution idea
- FourDigits — AWK script to solve a number puzzle
- Large number arithmetic — quick and dirty program to check if an idea for large number arithmetic will work
- Mersenne Twister — a quick implementation of the Mersenne Twister in CWEB
- Reverse an SDNFA — small prototypes to investigate an LvZ conjecture
- Suffix trees — finds all the shared substrings in a set of strings using suffix trees
- Travelling Salesperson Programs — CWEB programs that I used to experiment with the travelling salesman problem
- Turing — Turing machine written long ago (September 1999?). Nothing special.
- Word clouds — automatic layout of word clouds a la http://www.wordle.net