(Don't read this page. It is a work in progress for a Fall'19 graduate automated SE subject at NC State. Come back in mid-October!)
Start1.preface2.why se 4 ai? 3.tools 4.ethics: how |
ToolsbaselinesData mining: discretization basic advanced Optimizers: landscapes basic advanced optimizing+data mining Theorem provers: basic advanced |
Processrequirementscollect cleanse label train eval deploy monitor |
Codeconfigtests |
Exercises12 3a 3b 3c 3d 4 |
This book is about using better software engineering to build better AI software. AI is a very broad topic, discussed in so very many other books. So what makes this book so different?
Firstly, by “better” AI software, we mean “ethically-aligned”. We assert that the design goals for SE-for-AI must be prioritize for human well-being.
As discussed below, AI tools offer us more choices. This means that they also offer us more ethical choices. Better yet, AI also gives us methods for automatically tracking down what choices are useful we want within a very large space of possibilities. That is, once we tell AI that we want our systems to achieve ethical goals then:
So we suggest to you that when you start a new AI project:
The second way this book is unique is that the authors of this book have spent decades applying many AI tools (mostly for software engineering applications). We share some of that case study experience in this book. For example, recently we reversed engineered from multiple AI applications a nine-step industrial AI pipeline. This book devoted nine chapters to that pipeline:
Thirdly, we look at AI tools which, recently, have had a major impact on software engineering. Specifically, we will talk much about data mining algorithms; some about optimizers; and a little about theorem provers. When combined, these AI tools are a rich tapestry within which software engineers can weave around to achieve a variety of goals.
Please enjoy this book. If you are teaching this material at the graduate level, note that in our table of contents (shown at top-of-page) there is an exercises section listing some weekly homeworks and some idea for month-long projects.
Have fun! Be more ethical!
Tim Menzies (timm)
Tom Zimmermann (zimm)
August, 2019