private static void Localize(
            DirectoryInfo rootDir, DirectoryInfo testDir,
            string metricsFilePath, DirectoryInfo csvDir,
            FileInfo passFile)
        {
            var formatter   = new BinaryFormatter();
            var covInfoFile = FileUtil.GetCoverageInfo(rootDir);
            var covInfo     = CoverageInfo.Read(covInfoFile, formatter);
            var testInfo    = AnalyzeKleeTestFiles(testDir);

            if (passFile != null)
            {
                AnalyzeTestResultCsv(passFile, testInfo);
            }
            else
            {
                AnalyzeTestResult(rootDir, testInfo);
            }

            //Line対応のMapのMapを作成、
            var lineDic     = new Dictionary <FileInfo, Dictionary <int, int> >();
            var mapFileInfo = new FileInfo(rootDir.FullName + "/" + OccfNames.LineMapping);

            if (mapFileInfo.Exists)
            {
                lineDic = MapDicCreater(mapFileInfo);
            }
            else
            {
                Console.WriteLine("\"" + OccfNames.LineMapping + "\" file is not found.");
            }

            var localizeStatements =
                BugLocalizer.LocalizeStatements(covInfo, testInfo, metricsFilePath)
                .ToList();

            BugLocalizer.ShowLocalizeStatements(localizeStatements, lineDic, metricsFilePath);

            if (csvDir != null)
            {
                BugLocalizer.LocalizeStatementsCsv(csvDir, localizeStatements, lineDic);
            }
        }