Raed Shatnawi - Academia.edu (original) (raw)

Papers by Raed Shatnawi

Research paper thumbnail of Malware Classification Approaches Utilizing Binary and Text Embedding of Permissions

Research Square (Research Square), Jul 7, 2022

Research paper thumbnail of Malware classification approaches utilizing binary and text encoding of permissions

International Journal of Information Security

Research paper thumbnail of The application of ROC analysis in threshold identification, data imbalance and metrics selection for software fault prediction

Innovations in Systems and Software Engineering, 2017

Research paper thumbnail of Ranking of Bug Reports into Findbug Categories using the BM25 Function

2022 International Arab Conference on Information Technology (ACIT)

Research paper thumbnail of Malware Classification Approaches Utilizing Binary and Text Embedding of Permissions

The development of mobile applications is rapidly increasing with the advances in smartphone tech... more The development of mobile applications is rapidly increasing with the advances in smartphone technology. These applications are intended to assist mobile users in accomplishing various daily tasks including e-commerce and online services. Many mobile applications were also developed to attack smartphone users. Hence, new challenges have been found such as the difficulty to distinguish between benign and malicious malware categories.In this paper, two approaches for classifying malware applications are presented, including Conv1d (Conventional one dimension) and LSTM (Long short Time Memory). The proposed approaches have modeled and solved the malware classification problem using the natural language processing method. Two encoding techniques, binary and text encoding, were conducted on android permissions as a preprocessing phase. In addition, two other classifiers, the Support Vector Machine (SVM) and K-Nearest Neighbor(KNN) were also reported. The two main approaches were evaluate...

Research paper thumbnail of An Empirical Assessment of Refactoring Impact on Software Quality Using a Hierarchical Quality Model

Software refactoring is a collection of reengineering activities that aims to improve software qu... more Software refactoring is a collection of reengineering activities that aims to improve software quality. Refactorings are commonly used in agile software processes to improve software quality after a significant software development or evolution. There is belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support such assumptions. The aim of this study is to confirm such claims using a hierarchal quality model. We study the effect of software refactoring on software quality. We provide details of our findings as heuristics that can help software developers make more informed decisions about what refactorings to perform in regard to improve a particular quality factor. We validate the proposed heuristics in an empirical setting on two open-source systems. We found that the majority of refactoring heuristics do improve quality; however some heuristics do not have a positive impact on ...

Research paper thumbnail of Techniques for Calculating Software Product Metrics Threshold Values: A Systematic Mapping Study

Applied Sciences, 2021

Several aspects of software product quality can be assessed and measured using product metrics. W... more Several aspects of software product quality can be assessed and measured using product metrics. Without software metric threshold values, it is difficult to evaluate different aspects of quality. To this end, the interest in research studies that focus on identifying and deriving threshold values is growing, given the advantage of applying software metric threshold values to evaluate various software projects during their software development life cycle phases. The aim of this paper is to systematically investigate research on software metric threshold calculation techniques. In this study, electronic databases were systematically searched for relevant papers; 45 publications were selected based on inclusion/exclusion criteria, and research questions were answered. The results demonstrate the following important characteristics of studies: (a) both empirical and theoretical studies were conducted, a majority of which depends on empirical analysis; (b) the majority of papers apply st...

Research paper thumbnail of A Validation of Refactorings Impact on Maintainability: A Case Study

Software Engineering, 2010

Software refactorings are used commonly to fix prob lems such as the code smells. In this case st... more Software refactorings are used commonly to fix prob lems such as the code smells. In this case study, we use a quality model to subjectively a idate the consequences of resolving bad smells on software maintainability. The model is used to help software developers in their endeavor to improve software quality. This m odel can be used to search for the best alternative refactorings that can lead to a better quality. The results have shown that some bad smell resolutions may make improvements on the software quality, whereas others may not. Index: Refactoring, Bad Smells, Maintainability, Software Metrics.

Research paper thumbnail of An Empirical Study of the Effect of Power Law Distribution on the Interpretation of OO Metrics

ISRN Software Engineering, 2013

Context. Software metrics are surrogates of software quality. Software metrics can be used to fin... more Context. Software metrics are surrogates of software quality. Software metrics can be used to find possible problems or chances for improvements in software quality. However, software metrics are numbers that are not easy to interpret. Previous analysis of software metrics has shown fat tails in the distribution. The skewness and fat tails of such data are properties of many statistical distributions and more importantly the phenomena of the power law. These statistical properties affect the interpretation of software quality metrics. Objectives. The objective of this research is to validate the effect of power laws on the interpretation of software metrics. Method. To investigate the effect of power law properties on software quality, we study five open-source systems to investigate the distribution and their effect on fault prediction models. Results. Study shows that power law behavior has an effect on the interpretation and usage of software metrics and in particular the CK metr...

Research paper thumbnail of Identifying Threshold Values of Change-Prone Modules

Proceedings of the 2018 International Conference on E-business and Mobile Commerce, 2018

Software changes frequently during the lifetime of a project. These changes increase the total co... more Software changes frequently during the lifetime of a project. These changes increase the total cost of software development. Knowing where changes are more likely help in allocating appropriate resources in different activities of software lifecycle. The change-proneness of modules is defined as likelihood of change in a module. Change-proneness can be predicted using software metrics such as Chidamber and Kemerer metrics. However, the use of prediction models requires knowledge in advanced techniques such as data mining and regression analysis. Hence, there is a need to a more direct and simple technique to have more information about change-prone modules. Threshold values are proposed as such technique to identify the modules that are more change-prone. We propose the ROC analysis to identify thresholds. The ROC analysis suggests that large values of software metrics are indicators of change proneness. The research could identify practical thresholds for four metrics, CBO, RFC, WMC and the LCOM. The inheritance metrics do not have practical thresholds.In this paper, we describe the formatting guidelines for ACM SIG Proceedings.

Research paper thumbnail of An Empirical Study on Software Fault Prediction Using Product and Process Metrics

International Journal of Information Technologies and Systems Approach, 2021

Product and process metrics are measured from the development and evolution of software. Metrics ... more Product and process metrics are measured from the development and evolution of software. Metrics are indicators of software fault-proneness and advanced models using machine learning can be provided to the development team to select modules for further inspection. Most fault-proneness classifiers were built from product metrics. However, the inclusion of process metrics adds evolution as a factor to software quality. In this work, the authors propose a process metric measured from the evolution of software to predict fault-proneness in software models. The process metrics measures change-proneness of modules (classes and interfaces). Classifiers are trained and tested for five large open-source systems. Classifiers were built using product metrics alone and using a combination of product and the proposed process metric. The classifiers evaluation shows improvements whenever the process metrics were used. Evolution metrics are correlated with quality of software and helps in improvin...

Research paper thumbnail of Identifying and eliminating less complex instances from software fault data

International Journal of System Assurance Engineering and Management, 2016

Software quality is costly to achieve for large systems. Developers and testers need to investiga... more Software quality is costly to achieve for large systems. Developers and testers need to investigate a large number of software modules to ensure software quality. This investigation is time consuming and formal models such as machine learning techniques are used to predict the fault-proneness of software modules to predict where faults are more probable. However, many modules are small in either implementation or design size and have low priority to investigate their quality. In this research, machine learners are used to classify the most complex parts of software. The less complex software modules are filtered out using two size measures: number of public parameters in a software construct and line of code (LOC) as a surrogate of implementation size. Modules at lowest 10, 20 and 30% of each measure are filtered out of the trained and tested data sets. The remaining modules are used to build four classifiers: Naïve Bayes, logistic regression, nearest neighbors and decision trees. The resulting classifiers were evaluated and compared against the original data. The classifiers based on NPM filtering were more consistent with the data without filtering than the LOC size measure.

Research paper thumbnail of Predicting Error Probability in the Eclipse Project

Object-oriented software metrics have been shown to be able to predict various software quality f... more Object-oriented software metrics have been shown to be able to predict various software quality factors. This paper investigated whether the metrics could predict class error probability and whether the predicted probability could group classes in the object-oriented design. We found, in an open source system, that a set of object-oriented metrics could predict class error probability and the probability could be used to group classes into error and no-error categories with reasonable accuracies.

Research paper thumbnail of A Student Advising System Using Association Rule Mining

International Journal of Web-based Learning and Teaching Technologies, 2021

Academic advising is a time-consuming activity that takes a considerable effort in guiding studen... more Academic advising is a time-consuming activity that takes a considerable effort in guiding students to improve student performance. Traditional advising systems depend greatly on the effort of the advisor to find the best selection of courses to improve student performance in the next semester. There is a need to know the associations and patterns among course registration. Finding associations among courses can guide and direct students in selecting the appropriate courses that leads to performance improvement. In this paper, the authors propose to use association rule mining to help both students and advisors in selecting and prioritizing courses. Association rules find dependences among courses that help students in selecting courses based on their performance in previous courses. The association rule mining is conducted on thousands of student records to find associations between courses that have been registered by students in many previous semesters. The system has successfull...

Research paper thumbnail of Comparison of threshold identification techniques for object-oriented software metrics

Research paper thumbnail of Classification of application reviews into software maintenance tasks using data mining techniques

Research paper thumbnail of Exploring trends in the evolution of open-source systems

International Journal of System Assurance Engineering and Management

Research paper thumbnail of Synergies and conflicts among software quality attributes and bug fixes

International Journal of Information Systems and Change Management

Research paper thumbnail of A Classification of Software Modules into Library and Application Components in the Open-Source Field

International Journal of Software Engineering and Its Applications, 2016

Research paper thumbnail of An Empirical Investigation of Predicting Fault Count, Fix Cost and Effort Using Software Metrics

International Journal of Advanced Computer Science and Applications, 2016

Research paper thumbnail of Malware Classification Approaches Utilizing Binary and Text Embedding of Permissions

Research Square (Research Square), Jul 7, 2022

Research paper thumbnail of Malware classification approaches utilizing binary and text encoding of permissions

International Journal of Information Security

Research paper thumbnail of The application of ROC analysis in threshold identification, data imbalance and metrics selection for software fault prediction

Innovations in Systems and Software Engineering, 2017

Research paper thumbnail of Ranking of Bug Reports into Findbug Categories using the BM25 Function

2022 International Arab Conference on Information Technology (ACIT)

Research paper thumbnail of Malware Classification Approaches Utilizing Binary and Text Embedding of Permissions

The development of mobile applications is rapidly increasing with the advances in smartphone tech... more The development of mobile applications is rapidly increasing with the advances in smartphone technology. These applications are intended to assist mobile users in accomplishing various daily tasks including e-commerce and online services. Many mobile applications were also developed to attack smartphone users. Hence, new challenges have been found such as the difficulty to distinguish between benign and malicious malware categories.In this paper, two approaches for classifying malware applications are presented, including Conv1d (Conventional one dimension) and LSTM (Long short Time Memory). The proposed approaches have modeled and solved the malware classification problem using the natural language processing method. Two encoding techniques, binary and text encoding, were conducted on android permissions as a preprocessing phase. In addition, two other classifiers, the Support Vector Machine (SVM) and K-Nearest Neighbor(KNN) were also reported. The two main approaches were evaluate...

Research paper thumbnail of An Empirical Assessment of Refactoring Impact on Software Quality Using a Hierarchical Quality Model

Software refactoring is a collection of reengineering activities that aims to improve software qu... more Software refactoring is a collection of reengineering activities that aims to improve software quality. Refactorings are commonly used in agile software processes to improve software quality after a significant software development or evolution. There is belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support such assumptions. The aim of this study is to confirm such claims using a hierarchal quality model. We study the effect of software refactoring on software quality. We provide details of our findings as heuristics that can help software developers make more informed decisions about what refactorings to perform in regard to improve a particular quality factor. We validate the proposed heuristics in an empirical setting on two open-source systems. We found that the majority of refactoring heuristics do improve quality; however some heuristics do not have a positive impact on ...

Research paper thumbnail of Techniques for Calculating Software Product Metrics Threshold Values: A Systematic Mapping Study

Applied Sciences, 2021

Several aspects of software product quality can be assessed and measured using product metrics. W... more Several aspects of software product quality can be assessed and measured using product metrics. Without software metric threshold values, it is difficult to evaluate different aspects of quality. To this end, the interest in research studies that focus on identifying and deriving threshold values is growing, given the advantage of applying software metric threshold values to evaluate various software projects during their software development life cycle phases. The aim of this paper is to systematically investigate research on software metric threshold calculation techniques. In this study, electronic databases were systematically searched for relevant papers; 45 publications were selected based on inclusion/exclusion criteria, and research questions were answered. The results demonstrate the following important characteristics of studies: (a) both empirical and theoretical studies were conducted, a majority of which depends on empirical analysis; (b) the majority of papers apply st...

Research paper thumbnail of A Validation of Refactorings Impact on Maintainability: A Case Study

Software Engineering, 2010

Software refactorings are used commonly to fix prob lems such as the code smells. In this case st... more Software refactorings are used commonly to fix prob lems such as the code smells. In this case study, we use a quality model to subjectively a idate the consequences of resolving bad smells on software maintainability. The model is used to help software developers in their endeavor to improve software quality. This m odel can be used to search for the best alternative refactorings that can lead to a better quality. The results have shown that some bad smell resolutions may make improvements on the software quality, whereas others may not. Index: Refactoring, Bad Smells, Maintainability, Software Metrics.

Research paper thumbnail of An Empirical Study of the Effect of Power Law Distribution on the Interpretation of OO Metrics

ISRN Software Engineering, 2013

Context. Software metrics are surrogates of software quality. Software metrics can be used to fin... more Context. Software metrics are surrogates of software quality. Software metrics can be used to find possible problems or chances for improvements in software quality. However, software metrics are numbers that are not easy to interpret. Previous analysis of software metrics has shown fat tails in the distribution. The skewness and fat tails of such data are properties of many statistical distributions and more importantly the phenomena of the power law. These statistical properties affect the interpretation of software quality metrics. Objectives. The objective of this research is to validate the effect of power laws on the interpretation of software metrics. Method. To investigate the effect of power law properties on software quality, we study five open-source systems to investigate the distribution and their effect on fault prediction models. Results. Study shows that power law behavior has an effect on the interpretation and usage of software metrics and in particular the CK metr...

Research paper thumbnail of Identifying Threshold Values of Change-Prone Modules

Proceedings of the 2018 International Conference on E-business and Mobile Commerce, 2018

Software changes frequently during the lifetime of a project. These changes increase the total co... more Software changes frequently during the lifetime of a project. These changes increase the total cost of software development. Knowing where changes are more likely help in allocating appropriate resources in different activities of software lifecycle. The change-proneness of modules is defined as likelihood of change in a module. Change-proneness can be predicted using software metrics such as Chidamber and Kemerer metrics. However, the use of prediction models requires knowledge in advanced techniques such as data mining and regression analysis. Hence, there is a need to a more direct and simple technique to have more information about change-prone modules. Threshold values are proposed as such technique to identify the modules that are more change-prone. We propose the ROC analysis to identify thresholds. The ROC analysis suggests that large values of software metrics are indicators of change proneness. The research could identify practical thresholds for four metrics, CBO, RFC, WMC and the LCOM. The inheritance metrics do not have practical thresholds.In this paper, we describe the formatting guidelines for ACM SIG Proceedings.

Research paper thumbnail of An Empirical Study on Software Fault Prediction Using Product and Process Metrics

International Journal of Information Technologies and Systems Approach, 2021

Product and process metrics are measured from the development and evolution of software. Metrics ... more Product and process metrics are measured from the development and evolution of software. Metrics are indicators of software fault-proneness and advanced models using machine learning can be provided to the development team to select modules for further inspection. Most fault-proneness classifiers were built from product metrics. However, the inclusion of process metrics adds evolution as a factor to software quality. In this work, the authors propose a process metric measured from the evolution of software to predict fault-proneness in software models. The process metrics measures change-proneness of modules (classes and interfaces). Classifiers are trained and tested for five large open-source systems. Classifiers were built using product metrics alone and using a combination of product and the proposed process metric. The classifiers evaluation shows improvements whenever the process metrics were used. Evolution metrics are correlated with quality of software and helps in improvin...

Research paper thumbnail of Identifying and eliminating less complex instances from software fault data

International Journal of System Assurance Engineering and Management, 2016

Software quality is costly to achieve for large systems. Developers and testers need to investiga... more Software quality is costly to achieve for large systems. Developers and testers need to investigate a large number of software modules to ensure software quality. This investigation is time consuming and formal models such as machine learning techniques are used to predict the fault-proneness of software modules to predict where faults are more probable. However, many modules are small in either implementation or design size and have low priority to investigate their quality. In this research, machine learners are used to classify the most complex parts of software. The less complex software modules are filtered out using two size measures: number of public parameters in a software construct and line of code (LOC) as a surrogate of implementation size. Modules at lowest 10, 20 and 30% of each measure are filtered out of the trained and tested data sets. The remaining modules are used to build four classifiers: Naïve Bayes, logistic regression, nearest neighbors and decision trees. The resulting classifiers were evaluated and compared against the original data. The classifiers based on NPM filtering were more consistent with the data without filtering than the LOC size measure.

Research paper thumbnail of Predicting Error Probability in the Eclipse Project

Object-oriented software metrics have been shown to be able to predict various software quality f... more Object-oriented software metrics have been shown to be able to predict various software quality factors. This paper investigated whether the metrics could predict class error probability and whether the predicted probability could group classes in the object-oriented design. We found, in an open source system, that a set of object-oriented metrics could predict class error probability and the probability could be used to group classes into error and no-error categories with reasonable accuracies.

Research paper thumbnail of A Student Advising System Using Association Rule Mining

International Journal of Web-based Learning and Teaching Technologies, 2021

Academic advising is a time-consuming activity that takes a considerable effort in guiding studen... more Academic advising is a time-consuming activity that takes a considerable effort in guiding students to improve student performance. Traditional advising systems depend greatly on the effort of the advisor to find the best selection of courses to improve student performance in the next semester. There is a need to know the associations and patterns among course registration. Finding associations among courses can guide and direct students in selecting the appropriate courses that leads to performance improvement. In this paper, the authors propose to use association rule mining to help both students and advisors in selecting and prioritizing courses. Association rules find dependences among courses that help students in selecting courses based on their performance in previous courses. The association rule mining is conducted on thousands of student records to find associations between courses that have been registered by students in many previous semesters. The system has successfull...

Research paper thumbnail of Comparison of threshold identification techniques for object-oriented software metrics

Research paper thumbnail of Classification of application reviews into software maintenance tasks using data mining techniques

Research paper thumbnail of Exploring trends in the evolution of open-source systems

International Journal of System Assurance Engineering and Management

Research paper thumbnail of Synergies and conflicts among software quality attributes and bug fixes

International Journal of Information Systems and Change Management

Research paper thumbnail of A Classification of Software Modules into Library and Application Components in the Open-Source Field

International Journal of Software Engineering and Its Applications, 2016

Research paper thumbnail of An Empirical Investigation of Predicting Fault Count, Fix Cost and Effort Using Software Metrics

International Journal of Advanced Computer Science and Applications, 2016