Fall CSER 2017 talk

141272f109fbf660ffa001647f17d368?s=47 Neil Ernst
November 05, 2017

Fall CSER 2017 talk

New faculty talk at CSER, Nov 5 2017.

141272f109fbf660ffa001647f17d368?s=128

Neil Ernst

November 05, 2017
Tweet

Transcript

  1. Why Did the System Do That? Explaining how software works

    in terms of your intentions and its design Neil Ernst Software Engineering—University of Victoria neil@neilernst.net
  2. You are here SEI

  3. Hinterland Who’s Who Cognitive support for ontology modelling Requirements Analysis

    Architecture Design And Analysis Industry consulting and teaching
  4. Why ‘explanation’? Moving towards “intelligent connected” software systems Intelligent: adaptive

    and continually evolving Connected: emergent structure built with “other people’s software” MOTIVATION
  5. Example: Smart transportation US DoT

  6. ‘Explaining’ software Research challenges in intelligent connected systems: Understand what

    happens when software is ‘built’ and evolves Managing software ‘brownfields’ with hidden design problems Dealing with little or no documentation Analysing trade-offs of control for capability MOTIVATION
  7. An intelligent, connected system

  8. Lack of explanation: We only see a fraction of the

    component source Build-time dependency resolution is complex Run-time adaptations are made with uninterpretable - unexplainable - outcomes MOTIVATION
  9. Why did the system do that? Why Intentions How Design

    What Mappings MOTIVATION Explaining software systems
  10. What’s Changed? On the one hand, nothing. • We still

    have goals for the systems we use • We still have designs to realize those systems • Still write code, compile code, deploy code. Those problems continue to exist.
  11. What has changed? Old assumptions are invalid: • Software is

    all under our control • Requirements are fixed • We can understand outputs given inputs • The software we release is the software that is running
  12. Mapping intentions to design Intentions Design MOTIVATION

  13. Explaining software systems Intentions should be modeled: → understand quality

    attributes with respect to business/mission goals → is “it” (ours+theirs) doing what we need → define policies and constraints MOTIVATION
  14. Explaining software systems Design should be understood: → matches our

    intentions → not violating security/assurance constraints → emergent architectural properties MOTIVATION
  15. Industry anecdote: explaining configurable systems

  16. http://blog.cleverelephant.ca/2017/02/on-transformation.html

  17. “The call stack of despair” https://twitter.com/FioraAeterna/status/689908645476184068 “Our” Code ODDA

  18. A C B static dynamic D A B C D

    A 1 B 1 C 1 1 D A B C A 1 B 1 C 1 Understanding design-intention mappings ODDA
  19. Explaining designs from configuration A B C D A 1

    B 1 C 1 1 D C.java import com.google.guice.* . . . @inject public DbConn() { 
 } bind(Conn.class). to(SqlConn.class); X1 X1 - config. point ODDA X1
  20. A C B static dynamic Understanding design-intention mapping in intelligent

    connected systems Quantify how many dynamic dependencies are in connected systems. A B C A B C C1 Analyze results incorporating dynamic information and compare to compile-time baseline. Create mechanism to capture dynamic aspect and where it comes from. B B ODDA
  21. Findings Code level analysis vital Static design problems not identical

    to dynamic ones Nature of ‘dependency’ changes ODDA
  22. Short-term research challenge RESEARCH VISION config

  23. Short-term research challenge Identify/learn system boundaries automatically RESEARCH VISION config

  24. Short-term research challenge Identify/learn system boundaries automatically RESEARCH VISION config

  25. Short-term research challenge Find dynamic design problems and technical debt

    RESEARCH VISION config
  26. Mining system artifacts to automatically derive explanations Mid-term research challenge

    RESEARCH VISION Intentions Architecture Models Design Discussions Code Bug Reports History Stack Overflow “QUERY” “EXPLANATION”
  27. Long-term vision Automatically configure intelligent, connected systems from high-level intentions

    and constraints Explanation with decision dashboards: why the software did that (and what decision to make next) RESEARCH VISION
  28. Shameless Promotion • ICSA 2018 - Merger of CBsoft, Comparch,

    WICSA, QOSA • Seattle, Apr 30-May 4 • Papers due Jan 18/25 (c) Joven Petrola and AliWijaya, NounProject (as proposed in NSERC DG) So far … My group neilernst.net @neilernst