Source code ch.19: Tracing

Source Code & Software Patents: A Guide to Software & Internet Patent Litigation for Attorneys & Experts
by Andrew Schulman (http://www.SoftwareLitigationConsulting.com)
Detailed outline for forthcoming book

 

Chapter 19: Tracing through code, data flow, and the internet

19.1 Tracing is distinct from searching & reading

19.2 Bottom-up source-code tracing

  • 19.2.1 “Who calls me?”: Given lower-level code found through searching, determine who calls the code

19.3 Top-down source-code tracing

  • 19.3.1 From code upper levels to code of interest [starting at an upper level (main or menu/dialog trigger), trace down until find relevant code]
  • 19.3.2 “Who do I call?”: From code of interest, trace down into function calls to determine what code of interest actually does

19.4 Source-code tracing problems

  • Function pointers, function tables, and other indirect invocation
  • Flow dictated by contents of internet packets
  • Event-driven programs, exception handling, and interrupts
  • [more]

19.5 Using OS-provided logging to assist tracing through source code

  • Apple OSX
  • Apple iOS
  • Android
  • Windows

19.6 Data flow, data structures, global variables, “data reverse engineering”

  • Data may function as code (“op tables,” etc.)
  • Sometimes knowing the code alone doesn’t help (analogy: why public nature of encryption algorithms doesn’t help decrypt a particular file)
  • [more]

19.7 Tracing flow of internet packets (see network packet monitoring in chapter 6)