Share and discuss the ways teams are identifying and managing risks and possible ways that AI systems can fail, early in development to prevent and/or mitigate those issues. Discuss systems engineering methods that can support the growing field of AI engineering and consider what new processes and tools are needed.
ML-enabled systems are built, deployed, and used in a wide variety of ways. Some emphasize speed–getting an answer quickly, some emphasize accuracy–getting the right answer no matter how long it takes, some are updated and redeployed quickly whereas others change only rarely, some operate on high-end servers whereas others run on relatively low-powered edge devices. In this BoF we would like to explore these dimensions and their impacts on the engineering choices that an architect and a development team need to make.
Mature scientific disciplines are characterized by their theories, synthesizing what is known about phenomena into forms which generate falsifiable predictions about the world. Software engineering research has increasingly begun gathering data, through observations, surveys, interviews, and analysis of artifacts, about the nature of programming work and the challenges developers face, and evaluating novel programming tools through controlled experiments with software developers. But data from such empirical studies is often left isolated, rather than combined into useful theories which explain all of the empirical results. This lack of theory makes it harder to predict in which contexts programming languages, tools, and pedagogy will actually help people successfully write and learn to create software.
This BOF will begin with a (1) brief 10 min presentation on the potential for wider use of theory in SE and then (2) break into small groups to brainstorm specific controversies and topics in SE for which new theories are needed. The list of these topics will then be used by the attendees of the upcoming Theories of Programming Dagstuhl as they outline new theories of programming.
Software teams are more diverse than ever, given that remote work is becoming the norm post-pandemic. What does it mean that a software team is also inclusive? how can research help inform practice for inclusive software development?