Dynamic Analysis (EVO 2008)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Dynamic Analysis (EVO 2008) - Presentation Transcript

    1. Dynamic Analysis Tudor Gîrba www.tudorgirba.com
    2. Dynamic analysis is the analysis of the properties of a running program 9 Ball 199
    3. Dynamic analysis is the analysis of the properties of a running program prope rties? W hat 9 Ball 199
    4. main()
    5. method()
    6. method2(param)
    7. e infor mation offers precis ic an alysis Dynam
    8. ment instru and why H ow to t to c apture Wha odel Ho w to m cute What to exe
    9. How to instrument
    10. … public class BankAccount { private Money balance; public void deposit(Money amount) { System.out.println(“deposit“); this.balance += money; } }
    11. import org.apache.log4j.Logger; … public class BankAccount { private Money balance; public void deposit(Money amount) { logger.info(“deposit“); this.balance += money; } }
    12. Method Wrappers and Aspects intervene before and after each interesting method
    13. Profilers probe the system
    14. 3+4 pushConstant: 3 pushConstant: 4 popIntoTemp: 0 “put argument in temp 0” popIntoTemp: 1 “put receiver in temp 1” send: + “perform addition” returnTop
    15. 3+4 … insertBefore: 'Transcript show: <meta: #receiver>' pushConstant: 3 pushConstant: 4 popIntoTemp: 0 \"put argument in temp 0\" popIntoTemp: 1 \"put receiver in temp 1\" pushLit: ##Transcript \"start of inserted code\" pushTemp: 1 \"push receiver for printing\" send: asString send: show: pop \"end of inserted code\" pushTemp: 1 \"rebuild the stack\" pushTemp: 0 send: + returnTop 8 Den ker 200
    16. 3+4 Message (+) Receiver (3) Arguments (4) 00 7 Denke r etal 2
    17. 3+4 … insertBefore: 'Transcript show: <meta: #receiver>' before Transcript show: <meta: #receiver> Message (+) Receiver (3) Arguments (4) 00 7 Denke r etal 2
    18. How to instrument
    19. How to instrument What to capture and why
    20. Collecting Garbage is a Dynamic Analysis
    21. The Control Flow is the most common focus
    22. 8 Pauw etal 199 De
    23. 8 Pauw etal 199 De
    24. 8 Pauw etal 199 De
    25. Trace Signals reveal similar execution traces eevy 2006 Kuhn, Gr
    26. Inter Class Call Matrix shows how classes collaborate at runtime 3 Pauw etal 199 De
    27. Communication Interaction shows how classes collaborate at runtime 4 casse etal 200 Du
    28. How to instrument What to capture and why
    29. How to instrument What to capture and why How to model
    30. sender 0..1 * Activation
    31. Class sender 1 0..1 * * Activation * 1 Method
    32. A feature is an observable unit of behavior of a system triggered by the user arth e tal 2003 Eisenb
    33. Feature 1 Feature 2 ... Feature n
    34. Class sender 1 0..1 * * Activation * 1 Method
    35. Class sender 1 0..1 * * Activation * 1 Method * Feature
    36. 5 ilde, Sc ully 199 W
    37. 5 ilde, Sc ully 199 W
    38. 5 ilde, Sc ully 199 W
    39. Software Reconnaissance identifies where features are implemented 5 ilde, Sc ully 199 W
    40. er 2004 n , Demey Zaidma
    41. Feature Views show how features cover classes e tal 2006 addFolder addPage Greevy
    42. addFolder addPage
    43. Team Collaboration shows how authors develop features e tal 2007 Greevy
    44. How to instrument What to capture and why How to model
    45. How to instrument What to capture and why How to model activations metho d more than e runt ime is Th
    46. return
    47. return field-read
    48. return field-write field-read
    49. return field-write field-read return
    50. return field-write field-read field-read return parameter allocation
    51. Object Flow captures object aliases 9 Lienh ard 200
    52. Object Flow captures object aliases 9 Lienh ard 200
    53. Class sender 1 0..1 * * Activation * 1 Method * Feature
    54. * 1 Instance Class sender 1 0..1 * * Activation * 1 Method * Feature
    55. subject 1 Instance * Class sender 1 * 0..1 * * 0..1 Activation * 1 Alias receiver Method parent * creator Feature
    56. subject 1 1 Instance * Class sender 1 * 0..1 * * 0..1 Activation * 1 Alias receiver Method parent * creator * Feature Attribute ArgumentAlias ReturnAlias TempAlias FieldAlias
    57. Object Flow shows how objects move e tal 2007 L ienhard
    58. Object Dependencies reveal features dependencies Open Join Channel Connect Send Message e tal 2007 L ienhard
    59. ontains stack c ause e execution bug’s c ases th on about the of the c formati In 50% ly no in ess ential 5 Liblit etal 200
    60. Back in time debuggers remember more than the current stack 08 Fierz 20
    61. How to instrument What to capture and why How to model activations metho d more than e runt ime is Th
    62. How to instrument What to capture and why How to model What to execute activations metho d more than e runt ime is Th
    63. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/

    + Tudor GirbaTudor Girba, 2 years ago

    custom

    505 views, 0 favs, 1 embeds more stats

    I used this set of slides for a lecture I gave at t more

    More info about this document

    CC Attribution License

    Go to text version

    • Total Views 505
      • 484 on SlideShare
      • 21 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 10
    Most viewed embeds
    • 21 views on http://scglectures.unibe.ch

    more

    All embeds
    • 21 views on http://scglectures.unibe.ch

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories