about

I am an Associate Professor of Computer Science at Grand Valley State University, formerly at Oakland University. I received my PhD from Michigan State University in 2015, exploring how uncertainty can impact self-adaptive systems at different levels of abstraction and how it can be mitigated by using search-based software engineering techniques.

Previously, I worked for Continental Automotive Systems as a software engineer / software project manager, focusing on developing safety systems that help to reduce the amount of traffic accidents.


research interests

I am interested in the application of evolutionary computation to cyber-physical systems, specifically those that can be modeled as self-adaptive systems (SAS). In doing so, I’ve been researching how software engineering techniques can be augmented with evolutionary search, specifically in the areas of software modeling, requirements analysis, and run-time testing. If you are interested in any of the following areas of research, please feel free to contact me!


  • Search-based software engineering
  • Evolutionary computation
  • Software / run-time testing
  • Requirements engineering
  • Software modeling
  • Software engineering applications
  • Embedded systems
  • Cloud computing
  • Natural language processing
  • Web development
  • Video game development
  • Procedural content generation
  • Generative art


what's going on with that homepage?

I spend a lot of time in the p5js editor, mucking about with generative/algorithmic art. It started as a mental release during the pandemic and transitioned into a research interest. I've included some of the more interesting ones that are randomly selected on each page load.