These slides are for novice visitors (e.g., my parents) who are not into CS.
The actual thesis is rooted in dozen two peer-reviewed conference papers. Furthermore, worked with numerous, world-class companies in helping and improving their architecture and quality.
2. Thesis Context: ADAM Project
• ADAM: Architecture Discovery and Analysis Method
ADAM
• Detected software structure/behavior errors for many organizations
• ADAM Homepage: http://www.cs.vu.nl/~rkrikhaa/adam/
2
3. ADAM Team
Dharmalingam Ganesan Prof. Dr. Chris Verhoef Dr. René L. Krikhaar
(Doctoral Candidate) (Promotor) (Co-Promotor)
Dr. Mikael Lindvall
(Co-Promotor)
3
4. About the cover cartoon
• Financial loss due to poor engineering
• Each module looks good but poor quality as a whole
• As-built structure ≠ specified structure
Our Research:
How to analyze and improve quality of software whose
structures are invisible
4
6. Software errors are also common
Crash: mismatch foot vs. meter Killed: radiation overdose Loss: mix quantity and price
Typical reasons for errors:
• Flawed and complex design
• Not designed for testing
• Lack of independent reviews
6
7. Characteristics of industrial systems
Several languages in a system
Too much software Unknown modules at runtime
• Need computer-aided methods for repeatable and efficient analysis
to avoid software errors in the field
Family of systems Distributed systems 7
8. Typical questions of the ADAM
System structured for testing? Equivalent modules behave in
the same way?
Need to discover architectural views
from software to answer
Will it run fast? Unrelated concepts separated?
8
9. Typical outputs of the ADAM
Modules difficult to test &
Structural errors (shortcut) Behavioral errors
maintain
9