K. Rajnish, Vandana Bhattacharjee, Vishnu Chandrabanshi
{"title":"在控制流图上应用认知和神经网络方法进行软件缺陷预测","authors":"K. Rajnish, Vandana Bhattacharjee, Vishnu Chandrabanshi","doi":"10.1145/3474124.3474127","DOIUrl":null,"url":null,"abstract":"∗Like all other engineering products, prediction of defects in software, plays an important role in the dynamic research areas of software engineering. A defect is an error, bug, flaw, fault, breakdown or mistakes in software that causes it to create an inaccurate or unpredicted outcome. Most of the faults are from source code or design, some of them are from the improper code generating from compilers. The software engineering community is striving for valid measurements to enhance the quality of software. As software ages, the task of maintaining and comprehending them becomes complex and expensive. It has been estimated that 60% of the software maintenance effort is due to the comprehension of the source code. The cognitive informatics plays an important role to quantify the degree of difficulty or the efforts employed by developers to comprehend the source code. In 2003, the cognitive weight has been assigned to each possible basic control structure of software by conducting several empirical studies. These cognitive weights are utilized by several researchers to evaluate the cognitive complexity for software system. In this paper an attempt has been made to classify the Control Flow Graphs (CFGs) node according to their node features and each unique feature value is assigned an integer encoding value which we find the appropriate parameters (or features) of the source code file through cognitive complexity measures and incorporate of cognitive complexity measures outcome as nodes in CFGs and generates same based on the node-connectivity’s for a graph. Vector matrix of graph is then created and apply Graph Convolutional Network (GCN) to get the feature representation of graph. Finally, we developed deep neural network Keras Model (KM) to predict software defects. The framework used is Python Programming Language with Keras and TensorFlow. An analysis is done based on the data collected from PG students of our institute. The approaches are evaluated based on Accuracy, Receiver Operating Characteristics (ROC), known as the Area Under Curve (AUC), F-Measure, and Precision. The experimental results indicated that KM model classifiers outperformed well in all evaluation criteria against state of art methods (Naïve Bayes classifier (NB), Support Vector Machine (SVM) classifier and Random forest (RF) classifier. ∗Place the footnote text for the author (if applicable) here. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. IC3 ’21, August 05–07, 2021, Noida, India © 2021 Association for Computing Machinery. ACM ISBN 978-1-4503-8920-4/21/08. . . $15.00 https://doi.org/10.1145/3474124.3474127 CCS CONCEPTS • Machine Learning; • Software and its Engineering; • General and Reference;","PeriodicalId":144611,"journal":{"name":"2021 Thirteenth International Conference on Contemporary Computing (IC3-2021)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Applying Cognitive and Neural Network Approach over Control Flow Graph for Software Defect Prediction\",\"authors\":\"K. Rajnish, Vandana Bhattacharjee, Vishnu Chandrabanshi\",\"doi\":\"10.1145/3474124.3474127\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"∗Like all other engineering products, prediction of defects in software, plays an important role in the dynamic research areas of software engineering. A defect is an error, bug, flaw, fault, breakdown or mistakes in software that causes it to create an inaccurate or unpredicted outcome. Most of the faults are from source code or design, some of them are from the improper code generating from compilers. The software engineering community is striving for valid measurements to enhance the quality of software. As software ages, the task of maintaining and comprehending them becomes complex and expensive. It has been estimated that 60% of the software maintenance effort is due to the comprehension of the source code. The cognitive informatics plays an important role to quantify the degree of difficulty or the efforts employed by developers to comprehend the source code. In 2003, the cognitive weight has been assigned to each possible basic control structure of software by conducting several empirical studies. These cognitive weights are utilized by several researchers to evaluate the cognitive complexity for software system. In this paper an attempt has been made to classify the Control Flow Graphs (CFGs) node according to their node features and each unique feature value is assigned an integer encoding value which we find the appropriate parameters (or features) of the source code file through cognitive complexity measures and incorporate of cognitive complexity measures outcome as nodes in CFGs and generates same based on the node-connectivity’s for a graph. Vector matrix of graph is then created and apply Graph Convolutional Network (GCN) to get the feature representation of graph. Finally, we developed deep neural network Keras Model (KM) to predict software defects. The framework used is Python Programming Language with Keras and TensorFlow. An analysis is done based on the data collected from PG students of our institute. The approaches are evaluated based on Accuracy, Receiver Operating Characteristics (ROC), known as the Area Under Curve (AUC), F-Measure, and Precision. The experimental results indicated that KM model classifiers outperformed well in all evaluation criteria against state of art methods (Naïve Bayes classifier (NB), Support Vector Machine (SVM) classifier and Random forest (RF) classifier. ∗Place the footnote text for the author (if applicable) here. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. IC3 ’21, August 05–07, 2021, Noida, India © 2021 Association for Computing Machinery. ACM ISBN 978-1-4503-8920-4/21/08. . . $15.00 https://doi.org/10.1145/3474124.3474127 CCS CONCEPTS • Machine Learning; • Software and its Engineering; • General and Reference;\",\"PeriodicalId\":144611,\"journal\":{\"name\":\"2021 Thirteenth International Conference on Contemporary Computing (IC3-2021)\",\"volume\":\"18 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-08-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 Thirteenth International Conference on Contemporary Computing (IC3-2021)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3474124.3474127\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 Thirteenth International Conference on Contemporary Computing (IC3-2021)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3474124.3474127","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Applying Cognitive and Neural Network Approach over Control Flow Graph for Software Defect Prediction
∗Like all other engineering products, prediction of defects in software, plays an important role in the dynamic research areas of software engineering. A defect is an error, bug, flaw, fault, breakdown or mistakes in software that causes it to create an inaccurate or unpredicted outcome. Most of the faults are from source code or design, some of them are from the improper code generating from compilers. The software engineering community is striving for valid measurements to enhance the quality of software. As software ages, the task of maintaining and comprehending them becomes complex and expensive. It has been estimated that 60% of the software maintenance effort is due to the comprehension of the source code. The cognitive informatics plays an important role to quantify the degree of difficulty or the efforts employed by developers to comprehend the source code. In 2003, the cognitive weight has been assigned to each possible basic control structure of software by conducting several empirical studies. These cognitive weights are utilized by several researchers to evaluate the cognitive complexity for software system. In this paper an attempt has been made to classify the Control Flow Graphs (CFGs) node according to their node features and each unique feature value is assigned an integer encoding value which we find the appropriate parameters (or features) of the source code file through cognitive complexity measures and incorporate of cognitive complexity measures outcome as nodes in CFGs and generates same based on the node-connectivity’s for a graph. Vector matrix of graph is then created and apply Graph Convolutional Network (GCN) to get the feature representation of graph. Finally, we developed deep neural network Keras Model (KM) to predict software defects. The framework used is Python Programming Language with Keras and TensorFlow. An analysis is done based on the data collected from PG students of our institute. The approaches are evaluated based on Accuracy, Receiver Operating Characteristics (ROC), known as the Area Under Curve (AUC), F-Measure, and Precision. The experimental results indicated that KM model classifiers outperformed well in all evaluation criteria against state of art methods (Naïve Bayes classifier (NB), Support Vector Machine (SVM) classifier and Random forest (RF) classifier. ∗Place the footnote text for the author (if applicable) here. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. IC3 ’21, August 05–07, 2021, Noida, India © 2021 Association for Computing Machinery. ACM ISBN 978-1-4503-8920-4/21/08. . . $15.00 https://doi.org/10.1145/3474124.3474127 CCS CONCEPTS • Machine Learning; • Software and its Engineering; • General and Reference;