dynamic multi-threading analysis of ruby programs