Questions tagged [dynamic-analysis]

Dynamic analysis extracts information about programs by executing them on a real or virtual processor.

Dynamic analysis is a method for extracting information about programs or the data they process, by collecting critical data during program execution. This can overcome the problem of a static analysis, which is often too conservative ("some event E might occur"), by providing evidence that some specific events (e.g., E) did occur.

A first issue is deciding what information to collect.

A difficult issue is how to insert data-collecting probes into the runtime code:

  • hide the instrumentation in runtime libraries or OS used by the program
  • patch the object code
  • trap code pages of interest and simulate the critical part
  • simulate the entire program execution and collect data as needed
  • modify the source code to insert the instrumentation

Another issue is whether the data collection process interferes with program execution; this is especially important for programs with real time constraints.

64 questions
25
votes
4 answers

What is Dynamic Code Analysis?

What is Dynamic Code Analysis? How is it different from Static Code Analysis (ie, what can it catch that can't be caught in static)? I've heard of bounds checking and memory analysis - what are these? What other things are checked using dynamic…
Adam Davis
  • 91,931
  • 60
  • 264
  • 330
16
votes
4 answers

What program slicing tools actually exist?

I've just been introduced to the term "program slicing." It makes perfect sense that one would want such functionality, but does it exist anywhere? The term is 20 years old now, and I see there are lots of publications, research papers, etc. But…
feuGene
  • 3,931
  • 2
  • 33
  • 46
14
votes
5 answers

Tools for finding Shared Mutable data bugs in Java

I have a large legacy system to maintain. The codebase uses threads all over the place and those threads share a lot of mutable data. I know, sounds bad. Anyway, don't answer "rewrite the whole application from scratch" or I'll vote you down :-) I…
auramo
  • 13,167
  • 13
  • 66
  • 88
11
votes
4 answers

What are the gaps between symbolic execution and taint analysis?

I recently read a paper titling "All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)" by Dr. EJ Schwartz. In the paper, he mainly talked about their applications in binary level…
8
votes
4 answers

Detecting specific function calls in unit tests

I would like to be able to detect if my function (or any other function it calls) will end up calling some specific functions (for instance, malloc and free) in my unit tests: some small portions of my software have hard-real-time requirements, and…
Jean-Michaël Celerier
  • 7,412
  • 3
  • 54
  • 75
8
votes
4 answers

Is there tool for .Net/C# to capture *run-time* dependencies between classes?

What tool I can use for .Net/C# project to capture run-time dependencies between classes ? I found this question to be very useful but the suggested tools capture a static dependency graph. I simply want to see graph of instantiations of…
expert
  • 29,290
  • 30
  • 110
  • 214
6
votes
1 answer

What is the subset of problems that static analysis cannot capture?

I am trying to understand the difference between static analysis and dynamic analysis for the purpose of program flow execution, for detection of security vulnerabilities. It is fairly clear that dynamic analysis's primary weakness is that it cannot…
merlin2011
  • 71,677
  • 44
  • 195
  • 329
6
votes
2 answers

static and dynamic code analysis

I found several questions about this topic, and all of them with lot of references, but still I don't have a clear idea about that, because most of the references speak about concrete tools and not about the concept in general of the analysis. Thus…
romi
  • 161
  • 3
  • 14
5
votes
4 answers

What are some interesting, free, open-source Dynamic Analysis tools for Java?

I am looking for some interesting dynamic analysers to use and report on for a university assignment. The tools should be: Open-source (so I can learn from them) Free (both as in speech and beer, because I want to be able to share the results, and…
Grundlefleck
  • 124,925
  • 25
  • 94
  • 111
4
votes
0 answers

How do I follow value propagation through function calls with GDB reverse debugging?

I am trying to figure out a way to follow the propagation of values through function calls and variable copies in a program using GDB reverse debugging. I have used GDB a lot in the past, but am relatively new to reverse-debugging. I think it is…
bddicken
  • 1,412
  • 1
  • 15
  • 16
4
votes
1 answer

iOS project: Static/Dynamic code analysis and call graphs

I am looking for some handy code analysis tools for iOS projects, esp. to do static analysis, dynamic analysis and generate call graphs. In my investigation so far, I found Dtrace as explained here and here Clang as explained here Doxygen as…
ramo
  • 609
  • 2
  • 8
  • 14
4
votes
6 answers

Best tool for assisting writing complex SQL-queries?

I often find myself spending a lot of time figuring out why certain SUM()-aggregates sum up wrongly in SQL-queries. This problem often occurs if I do not take care when adding a JOIN, resulting in duplicate values being summed up etc. If I work with…
Søren Haagerup
  • 377
  • 1
  • 4
  • 11
3
votes
2 answers

Which Vars affect a Clojure function?

How do I programmatically figure out which Vars may affect the results of a function defined in Clojure? Consider this definition of a Clojure function: (def ^:dynamic *increment* 3) (defn f [x] (+ x *increment*)) This is a function of x, but…
Jouni K. Seppänen
  • 43,139
  • 5
  • 71
  • 100
3
votes
0 answers

Dynamic dependency checking tool for Java

I'm looking for a tool that analyses and optimises my dependency hierarchy in my Gradle projects. I've already taken a look at https://github.com/wfhartford/gradle-dependency-analyze and on this one coming from Netflix…
Patze
  • 297
  • 2
  • 13
3
votes
4 answers

tool to graph method calls over time

I'm looking for a tool that can graph method calls over time for a java app. Perhaps a profiler or other log parsing tool? I know I can write something in python and I'll work towards doing this. I was just hoping not to reinvent the wheel. edit:…
drfence
  • 1,487
  • 2
  • 17
  • 29
1
2 3 4 5