Your SlideShare is downloading. ×
Software understanding in the large (EVO 2008)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Software understanding in the large (EVO 2008)

423
views

Published on

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

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
423
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software understanding in the large Tudor Gîrba www.tudorgirba.com
  • 2. fo rw g rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  • 3. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  • 4. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  • 5. { { { { } } { } } } } { Systems are large and complex
  • 6. { { { { } } { } } } } { … and have many facets
  • 7. Still, simple tools can get you far
  • 8. for i in $( ls ); do echo `wc -l $i` >> temp done sort -nr temp | head -10
  • 9. 3 Spinellis 200
  • 10. Indentation correlates with complexity. indle e tal 2008 H
  • 11. Queries reduce the analysis space
  • 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. Visual queries put results in perspective
  • 14. Every system is special.
  • 15. 2 te am am te 1 { { { { { { } { { } } } { { } } } } } } } } { {
  • 16. 2 te am am te 1 { { { { = { { } { { } } } { { } } } } } } } } { {
  • 17. Every system is special.
  • 18. vs. Live ana Rep orting lysis
  • 19. Every system is special.
  • 20. Every technology is special.
  • 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. 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. Every technology is special.
  • 24. In Java { { { { } } { = .java } } } } {
  • 25. In J2EE { { { { } } { = .java } } } } {
  • 26. In J2EE .jsp { { { { } } { = .java } } } } {
  • 27. In J2EE .jsp { { { { } } { = .java } } } } { .xml
  • 28. .java we oking only at rmation By lo ful info ould m iss use w
  • 29. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } {
  • 30. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } * { /* */
  • 31. 7 etal 200 Schreck
  • 32. 7 etal 200 Schreck
  • 33. fo rw g reverse engineering rin ar ee d gin en gin en ee e rs rin ve g re { { { } { { { } { { { actual development } } } } } } } } * { /* */
  • 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. MAKAO shows Makefile dependencies dams e tal 2007 A
  • 36. The sources can tell you how the system looks like, but not why.
  • 37. ugly?
  • 38. Model
  • 39. Model GUI
  • 40. Model Helpers GUI
  • 41. Model Helpers GUI 5 etal 199 Murphy
  • 42. Model Helpers
  • 43. ann e tal 2008 Brühlm
  • 44. ann e tal 2008 Brühlm
  • 45. Put findings in perspective.
  • 46. It’s not Lupus
  • 47. You mainly see what you are looking for.
  • 48. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/