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)