Software understanding in the large (EVO 2008)

553 views

Published on

I used this set of slides for a lecture I gave at the University of Berne (http://scglectures.unibe.ch/evo2008)

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
553
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software understanding in the large (EVO 2008)

  1. 1. Software understanding in the large Tudor Gîrba www.tudorgirba.com
  2. 2. fo rw g rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  3. 3. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  4. 4. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  5. 5. { { { { } } { } } } } { Systems are large and complex
  6. 6. { { { { } } { } } } } { … and have many facets
  7. 7. Still, simple tools can get you far
  8. 8. for i in $( ls ); do echo `wc -l $i` >> temp done sort -nr temp | head -10
  9. 9. 3 Spinellis 200
  10. 10. Indentation correlates with complexity. indle e tal 2008 H
  11. 11. Queries reduce the analysis space
  12. 12. Intensional Views ensure rules acceptsClassOfType(?VisitorClass,?VisitedClass) if methodWithNameInClass(?Method,?Selector,?VisitorClass), [’accept*’ match:?Selector asString], argumentOfMethod(?Argument,?Method), [’*’,(?VisitedClass name asString), ’*’ match:?Argument asString] 6 Mens etal 200
  13. 13. Visual queries put results in perspective
  14. 14. Every system is special.
  15. 15. 2 te am am te 1 { { { { { { } { { } } } { { } } } } } } } } { {
  16. 16. 2 te am am te 1 { { { { = { { } { { } } } { { } } } } } } } } { {
  17. 17. Every system is special.
  18. 18. vs. Live ana Rep orting lysis
  19. 19. Every system is special.
  20. 20. Every technology is special.
  21. 21. Data Classes are dumb data holders Interface of class reveals data rather than offering services WOC < ONE THIRD AND Data Class Class reveals many attributes and is not complex 006 ari nescu 2 L anza, M
  22. 22. Use a Transfer Object to encapsulate the business data. A single method call is used to send and retrieve the Transfer Object. When the client requests the enterprise bean for the business data, the enterprise bean can construct the Transfer Object, populate it with its attribute values, and pass it by value to the client. java .sun.com
  23. 23. Every technology is special.
  24. 24. In Java { { { { } } { = .java } } } } {
  25. 25. In J2EE { { { { } } { = .java } } } } {
  26. 26. In J2EE .jsp { { { { } } { = .java } } } } {
  27. 27. In J2EE .jsp { { { { } } { = .java } } } } { .xml
  28. 28. .java we oking only at rmation By lo ful info ould m iss use w
  29. 29. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  30. 30. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } * { /* */
  31. 31. 7 etal 200 Schreck
  32. 32. 7 etal 200 Schreck
  33. 33. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } * { /* */
  34. 34. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } .pdf } } } * { /* */ @
  35. 35. MAKAO shows Makefile dependencies dams e tal 2007 A
  36. 36. The sources can tell you how the system looks like, but not why.
  37. 37. ugly?
  38. 38. Model
  39. 39. Model GUI
  40. 40. Model Helpers GUI
  41. 41. Model Helpers GUI 5 etal 199 Murphy
  42. 42. Model Helpers
  43. 43. ann e tal 2008 Brühlm
  44. 44. ann e tal 2008 Brühlm
  45. 45. Put findings in perspective.
  46. 46. It’s not Lupus
  47. 47. You mainly see what you are looking for.
  48. 48. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/

×