home | pre-prints | papers | lab


 Tim Menzies

Prof (full). Ph.D. Computer Science.
SE, AI, data mining, prog. languages.

  tim@menzies.us | bio  



"Less, but better"

I find simple solutions to seemingly hard problems (see examples or read tutorial).

So what can I simplify for you?

For Students

I seek talented grad students for AI+SE. Is that you?

For Industry

Ask me how to innovate. On time. On budget. Case studies:

My Funding

Over $9M. From many sources, e.g.:



My current graduate students (at the RAISE lab: real-world AI for SE):

Wei Fu Rahul Krishna Vivek Nair George Mathew Zhe Yu Di (Jack) Chen Amritanshu Agrawal Jianfeng Chen Guilherme Ferreira

My prior graduates:

Scott Chen David Owen Ashutosh Nandeshwar Ekrem Kocaguneli Abdel Salem Sayyad Fayola Peters Joe Krall Greg Gay

I challenge my students as follows:

  • Researchers usually seek solutions that are more intricate and complex;
  • Yet empirically & theoretically the world we can know is very simple;
  • So can you do "it" better, with less?

Here is a sample of their results (and for more, see Google Scholar):

Software defect prediction


Surprisingly effective defect predictors can be built from simple static code attributes.


Static code defect predictors have inherent limitations. But these limits can fixed via a new learner, very simple learner, that better understand the business goals.


Very simple social metrics can generate near-optimal predictors for software quality.


A simple feature and instance selectors let software projects share privatized data, without missing important patterns.

Search-based SE


Search-based SE methods can easily and readily and critically assess long held SE truisms.


Active learners can simplify and reduce the cost of search-based SE by orders of magnitude.


Very simple optimizers can dramatically improve the performance of data miners learning software quality predictors.

Transfer learning


A simple nearest neighbor relevancy filtering resulted in one of the first general results in software analytics: defect predictor learned from Turkish toasters could be successfully applied to NASA flight software (and vice versa).


How to transfer lessons learned from past projects? Easy! Clustering tools enable transferring lessons learned between software projects.


Ultra-simple transfer learning methods (called "bellwethers") enable effective transfer of lessons learned.

Requirements engineering


Contrast set learners find simple controllers in requirements models.


Contrast set learners can explain enormous decision trees (6000 node) learned from complex requirements models just 6 rules.

Effort estimation


Active learners can easily estimate large software projects after just a few samples.


The effort to build complex software can be estimated by very simple equations.

Other applications


The lesson of decades of expert systems research is that, for specific domains, human expertise can be readily captured in just a few rules.


Simple contrast-set learners out-perform state-of-the-art optimizers for spacecraft control;


Data miners can greatly simplify and reduce the effort involved in data collection for community health studies.


Text miners can succinctly summarize thousands of technical papers about SE.

BTW: for the origins of the "Less, but better" mantra, see Dieter Rams' 10 principles for good design.