University of Minnesota
Software Engineering Center

You are here

SE for AI for SE

Date of Presentation: 
Wednesday, January 16, 2019
Presented By: 

Much has been talked about the value of AI for software engineering, but what about the other way around? What can software engineering offer AI? This talk argues that AI software is, after all, software that must be built, validated, used by people, maintained, refactored, etc. And that as software engineers, we need to design AI software that has to offer at least the following services. The bad news is that our current AI software tools just ignore many of the above considerations. The good news is that it is a relatively easy matter to refactor our AI software tools such that they become the kinds of tools humans can use. (Hint: start with recursive bi-clustering.)

  • be understandable by humans, and offer actionable analytics.
  • be able to make conclusions using the available CPU and disk space (so “run it on the Cloud” is not a good general principle).
  • understand contexts and goals since not everyone’s data and conclusions are relevant to everyone else.
  • be auto-configurable. Parameter settings for AI tools (eg data miners) is currently either a black art that no one understands or an insanely computationally expensive process that no one can wait for. We need to do better than that.
  • be humble- it has to tell you when it is probably making the wrong decision.
  • be auditable, sharable, yet without violating privacy concerns.

See Tim's slides here