Explainable System

[…] Each of these views is achieved with just a few lines of code, and leads to the Ludo game becoming an explainable system that can be explored in ways that are far richer and more intuitive than by trying to read source code. (paper draft)

[…]

At the top of the map [of moldable development patterns, Figure 2] we have “Explainable System,” which is not a pattern per se, but rather the Goal of Moldable Development. An explainable system is a software system whose domain model has been exposed with the help of numerous custom tools [8].

# References

[8] Oscar Nierstrasz and Tudor Gîrba. 2022. Making Systems Explainable. In VISSOFT’22: Proceedings of the 10th IEEE Working Conference on Software Visualization. IEEE. doi pay

What makes software systems explainable?As we develop and maintain software, we have questions to ask about the code, but piecing together the answers remains hard. The main interface the classical IDE offers is a text editor for the source code. Code, documentation, and the running system are disconnected. In this keynote presentation, we will show how software systems can be made explainable with the help of three interacting technologies: (i) live notebooks that can be used to create narratives that link documentation, source code, and running applications, (ii) example methods that not only perform tests, but produce live examples that can be used within narratives, to explain use cases, scenarios and features, and (iii) a moldable inspector that can be easily extended with live custom views to answer domain-specific questions about software systems.With the help of running examples we will show in the keynotes presentation how these technologies work together to provide a radically different kind of development experience.