Improving dynamic code analysis by code abstraction