Predicting vulnerable software components through deep neural network - Pang, Yulei; Xue, Xiaozhen; Wang, Huaying (Proceedings of the 2017 International Conference on Deep Learning Technologies, 2017)
Vulnerabilities need to be detected and removed from software. Although previous studies demonstrated the usefulness of employing prediction techniques in deciding about vulnerabilities of software components, the improvement of effectiveness of these prediction techniques is still a grand challenging research question. This paper employed a technique based on a deep neural network with rectifier linear units trained with stochastic gradient descent method and batch normalization, for predicting vulnerable software components. The features are defined as continuous sequences of tokens in source code files. Besides, a statistical feature selection algorithm is then employed to reduce the feature and search space. We evaluated the proposed technique based on some Java Android applications, and the results demonstrated that the proposed technique could predict vulnerable classes, i.e., software components, with high precision, accuracy and recall.
38 citations (Crossref) [2023-10-31] Citation Key Alias: lens.org/017-842-927-679-783, pop00088
Keywords: Android; Android (operating system); Android applications; Application programs; Communication channels (information theory); Computer software; Continuous sequences; Deep learning; Deep neural networks; Education; Forecasting; Java programming language; Network security; Neural network; Neural networks; Prediction techniques; Research questions; Software component; Statistical features; Stochastic gradient descent method; Stochastic systems; Vulnerability prediction; deep learning; dept.mat; neural network; vulnerability prediction

Fault localizations through feature selections - Pang, Yulei; Xue, Xiaozhen; Namin, Akbar Siami (International Journal of Software Engineering and Knowledge Engineering, 2017)
We introduce a novel application of feature ranking methods to the fault localization problem. We envision the problem of localizing causes of failures as instances of ranking program's elements where elements are conceptualized as features. In this paper, we define features as program's statements. However, in its fine-grained definition, the idea of program's features can refer to any traits of programs. This paper proposes feature ranking-based algorithms. The algorithms analyze execution traces of both passing and failing test cases, and extract the bug signatures from the failing test cases. The proposed procedure extracts possible combinations of program's elements when executed together from bug signatures. The feature ranking-based algorithms then order statements according to the suspiciousness of the combinations. When viewed as sequences, the combination of program's elements produced and traced in bug signatures can be utilized to reason about the common longest subsequence. The common longest subsequence of bug signatures represents the common statements executed by all failing test cases and thus provides a means for identifying statements that contain possible faults. Our evaluation indicates that the proposed feature-based fault localization outperforms existing fault localization ranking schemes. © 2017 World Scientific Publishing Company.
0 citations (Crossref) [2023-10-31] Citation Key Alias: lens.org/199-715-689-637-833 tex.type: [object Object]
Keywords: Artificial intelligence; Computer debugging; Execution trace; Fault localization; Feature ranking; Feature-based; Fine grained; Learning systems; Novel applications; Software engineering; Test case; debugging; dept.mat; feature ranking methods; machine learning

Predicting students' graduation outcomes through support vector machines - Pang, Yulei; Judd, Nicolas; O'Brien, Joseph; Ben-Avie, Michael (2017 IEEE Frontiers in Education Conference (FIE), 2017)
Low graduation rate is a significant and growing problem in U.S. higher education systems. Although previous studies have demonstrated the usefulness of building statistical models for predicting students' graduation outcomes, advanced machine learning models promise to improve the effectiveness of these models, and hone in on the “difference that makes a difference” not only on the group level, but also on the level of the individual student. In this paper we propose an ensemble support vector machines based model for predicting students' graduation. Up to about 100 features, including a set of psychological-educational factors, were employed to construct the predicting model. We evaluated the proposed model using data taken from a state university's longitudinal, cohort data sets from the incoming classes of students from 2011-2012 (n=350). The experimental results demonstrated the effectiveness of the model, with considerable accuracy, precision, and recall. This paper presents the results of analysis that were conducted in order to gauge the predictive capability of a machine learning algorithm to predict on-time graduation that took into consideration students' learning and development.
9 citations (Crossref) [2023-10-31] Citation Key Alias: pop00174 tex.type: [object Object]
Keywords: Artificial intelligence; Education computing; Forecasting; Graduation outcome; Graduation rates; Group level; Higher education; Higher education system; Kernel; Learning algorithms; Learning systems; Machine learning; Machine learning algorithms; Machine learning models; Measurement; Predicting models; Predictive capabilities; Predictive models; Seminars; Students; Support vector machine; Support vector machines; advanced machine learning models; dept.mat; ensemble support vector machines; further education; graduation outcome; higher education; higher education systems; learning (artificial intelligence); low graduation rate; machine learning; on-time graduation; psychological-educational factors; statistical analysis; statistical models; support vector machine; support vector machines