S2E / s2e-env

Your S2E project management tools. Visit https://s2e.systems/docs to get started.
Other
92 stars 51 forks source link

Profile S2E's memory usage and identify what can be optimized #175

Open humeafo opened 6 years ago

humeafo commented 6 years ago

I encountered a weird situation in S2E that with only two alive states but S2E consumed 20GB+ memory, there were some states killed this before, and some symbolic data introduced(say less than 30MB), I know there're some leaks such as klee's symbolic array etc, but should not consume this much, there must be some other big leak sources, how do you profile S2E's memory usage? Any advice on this?

vitalych commented 6 years ago

There are some hints here: http://s2e.systems/docs/src/ProfilingS2E.html

You could also recompile S2E with a malloc library that supports profiling. There should be a few out there.

30MB of symbolic data is huge btw. What are you trying to do?

humeafo commented 6 years ago

Thanks for the info. 30MB is accumulated size of many symbolic input data in many states, not a single input data in one state, all of the states (except one) were killed, but the memory consumption is still there.

vitalych commented 6 years ago

This is a very good issue, reopening it.

vitalych commented 6 years ago

Some ideas: