Title: Engineering Software Automatically with Evolutionary Computation
Stephanie Forrest, Biodesign Istitute, Arizona State University
Computer programmers like to think of software as the product of intelligent design, carefully crafted to meet well-specified goals. In reality, large software systems evolve inadvertently through the actions of many individual programmers, often leading to unanticipated consequences. Because software is subject to constraints similar to
those faced by evolving biological systems, we have much to gain by viewing software through the lens of evolutionary biology. The talk will highlight research applying the mechanisms of evolution quite directly to the software, including repairing bugs and runtime optimization.
Illustrated Code: What Software Engineering can Learn from Research Software
Andreas Zeller, CISPA Helmholtz Center for Information Security
What do researchers use to evaluate, search, manage data? Software, of course – off the shelf as well as their own programs. From a Software Engineering point of view, such hand-written research software often leaves to be desired: modularity, quality assurance, documentation, configuration management are rarely up to standards – all which makes it hard to reuse code and replicate research results. Still, the research community has brought up a number of tools and practices that the SE community should take very seriously – in fact, a synergy between the best practices of SE and research software could lead to new and better forms of coding. Using interactive demos, I will show how interactive notebooks combine code, documentation, tests. visualizations and interactive tutorials in an elegant and reusable fashion – and go far beyond classical program code.
Andreas Zeller is faculty at the CISPA Helmholtz Center for Information Security and professor for Software Engineering at Saarland University, both in Saarbrücken, Germany. His research on automated debugging, mining software archives, specification mining, and security testing has won several awards for its impact in academia and industry. Zeller is an ACM Fellow, an IFIP Fellow, an ERC Advanced Grant Awardee, and holds an ACM SIGSOFT Outstanding Research Award. His recent textbooks "The Fuzzing Book” and “The Debugging Book” use Jupyter Notebooks extensively to combine code, documentation, and interactive tutorials.