IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 1 Metrics Classification Metrics are the independent variable used to building a defect prediction model. A metric is defined as quantitative measure of the degree to which a system, component or process possesses a given attribute [11]. A metric or combination of metrics provides insight into the software process, project, or product itself. They were used as the factors to be consided will impact the predicted objectives. There are many metrics have been presented and used in long software engineering history. In order to summarize the existing metrics, we classifyed metrics into six categories according to software development lifecycle, and each category includes 3-9 metric types. One type represents a set of similiar metrics. Requirement metrics. Requirement metrics reports information at requirement pahse. The metrics indicated the attribite of requirement that may be measured from requirement specifications. We divided this group into four types: requirement-content, requirement-relation, requirement-size and requirement quality. Design metrics. The design metrics are extracted from design phase artifacts, design diagrams such as flowgraphs (data flow graphs and control flow graphs) and UML diagrams. For example, Ohlsson and Alberg extract design metrics such as McCabe cyclomatic complexity from Formal Description Language (FDL) graphs in [12]. We divided this group into four types: design_FG, CK (Chidamber-Kemerer) [13], Design-size, and design-quality. Code metrics. The code metrics are the features extracted from source code or the action of coding phase. Code metrics, such as size and complexity metrics, lines of code, Halsted (1977) [14] and McCabe (1976) [15] shown to be useful, easy to use and widely employed in several research. Code metrics can be divided into nine types of metrics: loc_count metrics, elements_count metrics, code content metrics, McCabe metrics, Halstead, cohesion metrics, coupling metrics, network-related, and code-change metrics. Testing metrics Testing metrics are extracted from testing phase. This category of metrics can be divided into three tyoes: testcase metrics, test-quality metrics and review-efficiency metrics. Human metrics. Human metrics are the metrics related to developers, and we divided this category of metrics into three types: developer-network, developer-skill and effort. Other metrics This group includes the metrics that can not be classifies to other five group of metrics. It includes metrics related to organizations or some qualitative metrics. Table 1 listed the classification and description of metrics. TABLE 1 Category Type Requrement metrics RequirementContent RequirementRelation RequirementSize RequirementQuality Design_FG Design metrics Code metrics CLASSIFICATION OF METRICS Description measures the inter attributes of a requirement, eg. the number of actions the requirement needs to be capable of performing. measures the relationship between requirements. measures the size of reuqirments, eg. number of requirements, and requirement pages. describes the quality of requirements, eg. requirement error. includes the attributes calculated from flowgraphs, such as node count, edge count and complexity. CK measures complexity of the design, and it used for object-oriented program. Design-Size measures the size of design, eg. design pages. Design-Quality decribes the quality of the design, eg. design error. measures the different kinds of lines of code/function points, eg. lines of comments lines and blank lines. measures the number of elements used in code, the elements may be the classes, attributes, etc. measures the words or other attributes calculated by natural language processing or search techniques. directly measures the number of linearly independent paths through a program's source code Loc_Count Elements_Count Code Content McCabe Halstead Cohesion identify measurable properties of software, and the relations between them measures the relationships among the elements within a single model, eg. tight class cohesion, and conceptual cohesion of classes Coupling measures the relationships between entities, eg FANIN and FANOUT 2 Testing metrics Human metrics IEEE TRANSACTIONS ON XXXXXXXXXXXXXXXXXXXX, VOL. #, NO. #, MMMMMMMM 1996 NetworkRelated Code-Change contains the metrics which described the attributes of a network, eg. Indefree, outdegree and betweenness. contains the metrics related to lines of code/function points that modified, added, or deleted. Test-Case metrics related to test cases, eg. number of test cases, and test cases/total lines of code. Test-Quality metrcis related to the quality of test, eg. Weekly defects, and test plan error. ReviewEfficiency DeveloperNetwork Developer Skill Effort measures the efficiency of review, eg.test lines. measures the actors related to development and defect fixing, eg. number of developers who modified the file. measures the skill of a developer, eg.developer experience, testing experience, familiarity with envionment, familiarity with testing method, and testng characteristics. includes the factors related to effort, eg. effort, number of developers, number of testers, and testing effort. includes the metrics related to organizations or some qualitative metrics, eg. management level, Others management experiences, and process level comment:The "developer" in "developer-network" and "developer skill" are not only the people who developed the project, but contained all the people involved in the project. IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 3 IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 4 AUTHOR ET AL.: TITLE 5