1. A method for ranking software codes, comprising: tracking, by a computing device, invocations of software codes by invoking multiple markers to mark the software codes and generate marking records; rebuilding, by the computing device, a call stack having a stack data structure, wherein the call stack is rebuilt based on the marking records; organizing, by the computing device, the software codes based on the call stack into a calling dependency map; and ranking, by the computing device, the software codes based on the calling dependency map, wherein ranking ranks software codes against one another.