Stellenbosch University 1918–2018
I teach the following courses in 2018:
- RW114 Introduction to Computer Science
- RW712 Advanced Algorithms
Previous courses I have taught
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.
M Dunaiski, W Visser, J Geldenhuys:
Evaluating paper and author ranking algorithms using impact and contribution awards,
S Schreiber, J Geldenhuys, H de Villiers:
Texture Synthesis Using Convolutional Neural Networks With Long-Range Consistency and Spectral Constraints,
N Rosner, J Geldenhuys, N M Aguirre, W Visser, and M F Frias:
BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support,
B van der Merwe, L van Zijl, J Geldenhuys:
Ambiguity and structural ambiguity of symmetric difference NFAs,
A Filieri, CS Pasareanu, W Visser, J Geldenhuys:
Statistical Symbolic Execution with Informed Sampling,
C Pasareanu, W Visser, D Bushnell, J Geldenhuys, P Mehlitz, N Rungta:
Symbolic PathFinder: Integrating Symbolic Execution with Model Checking for Java Bytecode Analysis,
P Jordaan, W Visser, J Geldenhuys:
Integrating JPF into Impendulo,
B van der Merwe, M Faraga, J Geldenhuys:
Counting Minimal Symmetric Difference NFAs,
J Geldenhuys, N Aguirre, M Frias, W Visser:
Bounded Lazy Initialization,
J Geldenhuys, MB Dwyer, W Visser:
Probabilistic Symbolic Execution,
W Visser, J Geldenhuys, MB Dwyer:
Green: Reducing, Reusing and Recycling Constraints in Program Analysis,
W Visser, J Geldenhuys:
Analyzing The Software Bug Lifecycle,
J Fourie, J Geldenhuys, CP Inggs:
Improving Communication for Distributed Model Checking,
G Redelinghuys, W Visser, J Geldenhuys:
Symbolic execution of programs with strings,
All my publications and other research information
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;
Delena Malan, Honours project, 2016;
Browser history visualization.
Iain Swarts, Honours project, 2016;
Genetic algorithms for test reduction.
Complete list of past students
Read this if you are
interested in pursuing a masters/doctoral degree.
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