The (Un)Expected Impact 

of Tools 

in Software Evolution
Gail C. Murphy

University of British Columbia
@gail_murphy
except for images where noted
“The way humans
make and use tools
is perhaps what
sets our species
apart more than
anything else.”
Charles Q. Choi
ROOBE Art Company
+
https://www.livescience.com/7968-human-evolution-origin-tool.html 2
+
Building a
“simple” physical
artifact
multiple
specialized tools
interactions:
human with tools

humans with artifacts

3
Images above not copyable
+ Building a
“complex” physical
artifact
multiple
specialized workers
& tools
interactions:
humans with tools
humans with humans
artifacts with artifacts
+
5
Building many
“complex” physical artifacts
enable a flow of
produced physical artifacts
interactions:
humans with tools
tools with tools
artifacts with artifacts
Images above not copyable
Which is most
similar to
producing a
software product?
+
6
C
+
7
humans with tools
humans with humans
artifacts with artifacts
humans with tools
tools with tools
artifacts with artifacts
Combination of both
Images above not copyable
+
8
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
Interaction between these architectures needs study
+
8
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Analyst Dev IT Ops QA
V1
V3
.
.
.
Software Architecture Tool Architecture
Interaction between these architectures needs study
My goal with this talk
is to raise more questions than I answer
I. Value
II. Software
Architecture
III. Tool
Architecture
IV. Open
Questions
+
I. Value
+
11
(Most) Software product development aims to
provide a continual flow of value to customers
“the importance, worth, or
usefulness of something”
Value is…
Value in software…
delivered requirements
Images above not copyable
+
12
(Most) Software
product development
aims to provide a
continual flow of value
to customers
13
Software
architecture plays
a key role
in enabling a
flow of value delivery
“On the criteria to be used
decomposing systems into
modules “
- Parnas 1972
“Foundations for the study of
software architecture”
- Perry and Wolf 1992
Different modularizations (“architectures”)
carry different option values
Software architecture can ease continual
delivery of value to customers
+
15
…
…
Analysts
Developers
…
QA
Tooling plays a role in enabling value delivery
+
15
…
…
Analysts
Developers
…
QA
Tooling plays a role in enabling value delivery
+
15
…
…
Analysts
Developers
…
QA
Tooling plays a role in enabling value delivery
Tool to tool
interaction
can facilitate
human to human
interaction
+
16
Zohaiib Khan
Principle Domain Architect
Red Hat Inc
https://techbeacon.com/app-dev-testing/role-devops-new-methods-finally-deliver-business-value
https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
Delivery of value impacted by architecture and tools
17
I. Value
+
II. Software
Architecture
+
Many perspectives on software architecture
19
Logical
View
Process
View
Development
View
Physical
View
4+1 View Model [Krutchen 1995]
Software architecture continually evolves …

+
20
Software architecture continually evolves …

and often degrades impacting…
+
20
Quality[DB12] Bugs[PW92] Change[BC10]
+
Architectural

drift happens

one decision

at a time

Number of design decisions …
have now proven to be sub-optimal
LogicalPlan and Optimizer are too
complex and hard to work with
Example from [LK+21]
Tools focused
on artifacts can
help with drift
Code
Development
PDE API Tools Compiler
Tools focused
on human 

communication
can help with drift
23
Architectural evolution required for continual delivery of value
24
II. Software Architecture
Tools can enable architectural evolution
+
III. Tool
Architecture
+
Developing most software requires many tools
26
+
Projects must organize the tools they use
27
With thanks to Tasktop Technologies Inc. for the diagram.
Diagram is not copyable.
What is a tool architecture?
Nodes are specific tools
Sub-nodes are data in tools
Connectors represent data flows
With thanks to Tasktop Technologies Inc. for the diagram.
Diagram is not copyable.
What is a tool architecture?
Nodes are important
- what information is being tracked,
managed, etc.
- e.g., is there an architectural
conformance checker?
Connections are important
- what information is accessible
to human users of the tool or other tools?
- e.g., does the checker send information
to the pull request tooling?
With thanks to Tasktop Technologies Inc. for the diagram.
Diagram is not copyable.
Code
Development
PDE API Tools Compiler
humans with tools
artifacts with artifacts
30
humans with humans tools with tools
Impacted by tool architecture Images above not copyable
+
Project tool architectures differ
31
Tool architecture can
impact evolution of software
architecture because information
access can enable different
decision making
With thanks to Tasktop Technologies Inc. for the diagram
Diagram is not copyable.
.
Researchers tool
architectures
Images above not copyable
Tool architecture can ease evolution of software architecture
33
III. Tool Architecture
But what aspects of tool architecture are important?
With thanks to
Tasktop
Technologies
Inc. for the
diagram.
Diagram is not
copyable.
+
IV. Open
Questions
What should be captured in a
description of a project’s tool
architecture?
How do we model information flow
through the tool architecture
effectively?
35
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
V1.1 V2.9
…
Software Architecture
Should we describe the tool
architecture when studying
software architecture evolution?
Can we affect the evolution of a
software architecture by modifying
the tool architecture?
36
V1.1 V2.9
…
Software Architecture
37
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
When should changes in the software architecture
indicate a change is needed in the project’s tool
architecture?
38
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
How does Conway’s law impact a project’s
tool architecture?
“Any organization that designs a
system (defined broadly) will
produce a design whose structure is
a copy of the organization's
communication structure.”
— Melvin E. Conway
38
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
V1.1 V2.9
…
Software Architecture
How does Conway’s law impact a project’s
tool architecture?
And does that interplay with the software architecture?
Or is it vice versa?
+
Summary
+
@xped0829 via Twenty20
Thank you to the organizes of ICSA/SANER
for the invitation to speak.
Thank you to Mik Kersten and my colleagues
at Tasktop Technologies for an amazing
15 year journey.
Thank you to my students for their insights,
discoveries and making research fun.
Images above not copyable
+
(Most) Software product development aims to
provide a continual flow of value to customers
41
+
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
A continual flow of value is enabled
by a software architecture that
evolves gracefully
42
+
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
A continual flow of value is enabled
by a software architecture that
evolves gracefully
42
and by tools that support
human - tool interactions
human - human interactions
to make appropriate decisions
+
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
But we tend to ignore the tools and
how they are architected to support
software development
43
+
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
45
+
(Most) Software product development aims to
provide a continual flow of value to customers
V1.1 V2.9
…
Software Architecture
Analyst Dev IT Ops QA
V1
V3
.
.
.
Tool Architecture
Interaction between these architectures needs study
@gail_murphy
[BC10] H. P. Breivold and I. Crnkovic, “A systematic review on architecting for software evolvability”. Proc. of the 21st Australian 

Software Engineering Conference (ASWEC), pp. 13–22, IEEE, 2010.



[BM+14] J. Brunet, G.C. Murphy, D. Serrey and J. Figueiredo. Five years of software architecture checking: A case study of Eclipse.

IEEE Software, vol. 32, no. 5, pp. 30-36. 2014.
[DB12] L. De Silva and D. Balasubramaniam, “Controlling software architecture erosion: A survey.” Journal of Systems and Software, 

vol. 85, no. 1, pp. 132–151, 2012.



[LK+21] D. Minh Le, S. Karthik, M. Schmitt Laser and N. Medvidovic. “Architectural decay as predictor of issue- and change- proneness.

Proc. of International Conference on Software Architecture, 2021.



[P72] D. Parnas. On the criteria to be used in decomposing systems into modules. CACM, vol. 15, no. 12, pp. 1053-1058, 1972.
[PW92] D. E. Perry and A. L. Wolf, “Foundations for the study of software architecture.” ACM SIGSOFT Software Engineering Notes, 

vol. 17, no. 4, pp. 40–52, 1992.

[S+01] K. Sullivan, W.G. Griswold, Y. Cai and B. Hallen. The structure and value of modularity in software design, ACM SIGSOFT

SEN, vol. 26, no. 5, pp. 99-108, 2001.



References

The (Un) Expected Impact of Tools in Software Evolution

  • 1.
    The (Un)Expected Impact
 of Tools 
 in Software Evolution Gail C. Murphy
 University of British Columbia @gail_murphy except for images where noted
  • 2.
    “The way humans makeand use tools is perhaps what sets our species apart more than anything else.” Charles Q. Choi ROOBE Art Company + https://www.livescience.com/7968-human-evolution-origin-tool.html 2
  • 3.
    + Building a “simple” physical artifact multiple specializedtools interactions: human with tools
 humans with artifacts
 3 Images above not copyable
  • 4.
    + Building a “complex”physical artifact multiple specialized workers & tools interactions: humans with tools humans with humans artifacts with artifacts
  • 5.
    + 5 Building many “complex” physicalartifacts enable a flow of produced physical artifacts interactions: humans with tools tools with tools artifacts with artifacts Images above not copyable
  • 6.
    Which is most similarto producing a software product? + 6 C
  • 7.
    + 7 humans with tools humanswith humans artifacts with artifacts humans with tools tools with tools artifacts with artifacts Combination of both Images above not copyable
  • 8.
    + 8 (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture Analyst Dev IT Ops QA V1 V3 . . . Tool Architecture Interaction between these architectures needs study
  • 9.
    + 8 (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Analyst Dev IT Ops QA V1 V3 . . . Software Architecture Tool Architecture Interaction between these architectures needs study My goal with this talk is to raise more questions than I answer
  • 10.
    I. Value II. Software Architecture III.Tool Architecture IV. Open Questions
  • 11.
  • 12.
    + 11 (Most) Software productdevelopment aims to provide a continual flow of value to customers “the importance, worth, or usefulness of something” Value is… Value in software… delivered requirements Images above not copyable
  • 13.
    + 12 (Most) Software product development aimsto provide a continual flow of value to customers
  • 14.
    13 Software architecture plays a keyrole in enabling a flow of value delivery “On the criteria to be used decomposing systems into modules “ - Parnas 1972 “Foundations for the study of software architecture” - Perry and Wolf 1992
  • 15.
    Different modularizations (“architectures”) carrydifferent option values Software architecture can ease continual delivery of value to customers
  • 16.
  • 17.
  • 18.
    + 15 … … Analysts Developers … QA Tooling plays arole in enabling value delivery Tool to tool interaction can facilitate human to human interaction
  • 19.
    + 16 Zohaiib Khan Principle DomainArchitect Red Hat Inc https://techbeacon.com/app-dev-testing/role-devops-new-methods-finally-deliver-business-value https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  • 20.
    Delivery of valueimpacted by architecture and tools 17 I. Value
  • 21.
  • 22.
    + Many perspectives onsoftware architecture 19 Logical View Process View Development View Physical View 4+1 View Model [Krutchen 1995]
  • 23.
  • 24.
    Software architecture continuallyevolves …
 and often degrades impacting… + 20 Quality[DB12] Bugs[PW92] Change[BC10]
  • 25.
    + Architectural
 drift happens
 one decision
 ata time
 Number of design decisions … have now proven to be sub-optimal LogicalPlan and Optimizer are too complex and hard to work with Example from [LK+21]
  • 26.
    Tools focused on artifactscan help with drift Code Development PDE API Tools Compiler
  • 27.
    Tools focused on human
 communication can help with drift 23
  • 28.
    Architectural evolution requiredfor continual delivery of value 24 II. Software Architecture Tools can enable architectural evolution
  • 29.
  • 30.
    + Developing most softwarerequires many tools 26
  • 31.
    + Projects must organizethe tools they use 27 With thanks to Tasktop Technologies Inc. for the diagram. Diagram is not copyable.
  • 32.
    What is atool architecture? Nodes are specific tools Sub-nodes are data in tools Connectors represent data flows With thanks to Tasktop Technologies Inc. for the diagram. Diagram is not copyable.
  • 33.
    What is atool architecture? Nodes are important - what information is being tracked, managed, etc. - e.g., is there an architectural conformance checker? Connections are important - what information is accessible to human users of the tool or other tools? - e.g., does the checker send information to the pull request tooling? With thanks to Tasktop Technologies Inc. for the diagram. Diagram is not copyable.
  • 34.
    Code Development PDE API ToolsCompiler humans with tools artifacts with artifacts 30 humans with humans tools with tools Impacted by tool architecture Images above not copyable
  • 35.
    + Project tool architecturesdiffer 31 Tool architecture can impact evolution of software architecture because information access can enable different decision making With thanks to Tasktop Technologies Inc. for the diagram Diagram is not copyable. .
  • 36.
  • 37.
    Tool architecture canease evolution of software architecture 33 III. Tool Architecture But what aspects of tool architecture are important? With thanks to Tasktop Technologies Inc. for the diagram. Diagram is not copyable.
  • 38.
  • 39.
    What should becaptured in a description of a project’s tool architecture? How do we model information flow through the tool architecture effectively? 35 Analyst Dev IT Ops QA V1 V3 . . . Tool Architecture
  • 40.
    V1.1 V2.9 … Software Architecture Shouldwe describe the tool architecture when studying software architecture evolution? Can we affect the evolution of a software architecture by modifying the tool architecture? 36
  • 41.
    V1.1 V2.9 … Software Architecture 37 AnalystDev IT Ops QA V1 V3 . . . Tool Architecture When should changes in the software architecture indicate a change is needed in the project’s tool architecture?
  • 42.
    38 Analyst Dev ITOps QA V1 V3 . . . Tool Architecture How does Conway’s law impact a project’s tool architecture? “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.” — Melvin E. Conway
  • 43.
    38 Analyst Dev ITOps QA V1 V3 . . . Tool Architecture V1.1 V2.9 … Software Architecture How does Conway’s law impact a project’s tool architecture? And does that interplay with the software architecture? Or is it vice versa?
  • 44.
  • 45.
    + @xped0829 via Twenty20 Thankyou to the organizes of ICSA/SANER for the invitation to speak. Thank you to Mik Kersten and my colleagues at Tasktop Technologies for an amazing 15 year journey. Thank you to my students for their insights, discoveries and making research fun. Images above not copyable
  • 46.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers 41
  • 47.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture A continual flow of value is enabled by a software architecture that evolves gracefully 42
  • 48.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture A continual flow of value is enabled by a software architecture that evolves gracefully 42 and by tools that support human - tool interactions human - human interactions to make appropriate decisions
  • 49.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture But we tend to ignore the tools and how they are architected to support software development 43
  • 50.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture Analyst Dev IT Ops QA V1 V3 . . . Tool Architecture 45
  • 51.
    + (Most) Software productdevelopment aims to provide a continual flow of value to customers V1.1 V2.9 … Software Architecture Analyst Dev IT Ops QA V1 V3 . . . Tool Architecture Interaction between these architectures needs study @gail_murphy
  • 52.
    [BC10] H. P.Breivold and I. Crnkovic, “A systematic review on architecting for software evolvability”. Proc. of the 21st Australian 
 Software Engineering Conference (ASWEC), pp. 13–22, IEEE, 2010.
 
 [BM+14] J. Brunet, G.C. Murphy, D. Serrey and J. Figueiredo. Five years of software architecture checking: A case study of Eclipse.
 IEEE Software, vol. 32, no. 5, pp. 30-36. 2014. [DB12] L. De Silva and D. Balasubramaniam, “Controlling software architecture erosion: A survey.” Journal of Systems and Software, 
 vol. 85, no. 1, pp. 132–151, 2012.
 
 [LK+21] D. Minh Le, S. Karthik, M. Schmitt Laser and N. Medvidovic. “Architectural decay as predictor of issue- and change- proneness.
 Proc. of International Conference on Software Architecture, 2021.
 
 [P72] D. Parnas. On the criteria to be used in decomposing systems into modules. CACM, vol. 15, no. 12, pp. 1053-1058, 1972. [PW92] D. E. Perry and A. L. Wolf, “Foundations for the study of software architecture.” ACM SIGSOFT Software Engineering Notes, 
 vol. 17, no. 4, pp. 40–52, 1992.
 [S+01] K. Sullivan, W.G. Griswold, Y. Cai and B. Hallen. The structure and value of modularity in software design, ACM SIGSOFT
 SEN, vol. 26, no. 5, pp. 99-108, 2001.
 
 References