Concept location is one of the fundamental activities during software maintenance which locates the parts of the source code where a specific concept is implemented. The methods for concept location include static and dynamic approaches: the former includes string pattern matching, dependence graph search, and IR-based techniques, while the latter includes debugging, profiling, and tracing. Both concept location approaches have been proved to be effective in some situations. However, they are challenged by modern event-driven programs. We proposed a novel concept location method which combines static methods and dynamic tracing. We also validated its effectiveness and efficiency by conducting two case studies.