Making Software More Reliable by Uncovering Hidden Dependencies

Making Software More Reliable by Uncovering Hidden Dependencies

Paul G. Allen School via YouTube Direct link

Intro

1 of 41

1 of 41

Intro

Class Central Classrooms beta

YouTube playlists curated by Class Central.

Classroom Contents

Making Software More Reliable by Uncovering Hidden Dependencies

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 Reliability and Testing • How do developers build reliable software?
  3. 3 Software Engineering & Systems
  4. 4 Program Dependencies Between variables?
  5. 5 Simplified Software Lifecycle
  6. 6 Testing Dominates Build Times
  7. 7 Test Suite Minimization
  8. 8 Regression Test Selection
  9. 9 Test Independence
  10. 10 Controlled Regression Testing Assumption
  11. 11 What should we do with dependent tests?
  12. 12 Isolating Tests
  13. 13 JUnit Test Execution
  14. 14 How do Tests Leak Data? Java is memory-managed, and object oriented We think in terms of object graphs
  15. 15 Isolating Side Effects Class A
  16. 16 Isolating Side Effects Class B
  17. 17 VMVM: Unit Test Virtualization
  18. 18 Performance Evaluation
  19. 19 Relative Overhead
  20. 20 Manifest Test Dependencies
  21. 21 Electric Test - Detecting Data Dependencies in Java • Tracks in-memory dependencies (JUMTI plugin)
  22. 22 Identifying Heap
  23. 23 Identifying External
  24. 24 Safe Test Parallelization
  25. 25 Safe Test Selection
  26. 26 Potential Speedup
  27. 27 Dynamic Data Flow Analysis: Taint Tracking
  28. 28 Phosphor: Instrumentation Strategy
  29. 29 Complications
  30. 30 Phosphor Doubles Stack Size
  31. 31 Non-Modifiable Classes (and Arrays)
  32. 32 Native Code
  33. 33 Macrobenchmarks Phosphor Relative Runtime Overhead (Hotspot 7)
  34. 34 Data Flow Analysis for Data Security Testing
  35. 35 What is an Email on Android?
  36. 36 Intuition: Thin Apps, Thick OS
  37. 37 Pebbles Architecture
  38. 38 Pebbles Applications Bread Crumbs: deletion auditing
  39. 39 Pebbles is Accurate
  40. 40 Dependency Analysis for Debugging and Behavioral Clones
  41. 41 Runtime Monitoring of Deployed Software

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.