Rui Shu’s research while affiliated with North Carolina State University and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (16)


Sequential Model Optimization for Software Effort Estimation
  • Article

December 2020

·

67 Reads

·

25 Citations

IEEE Transactions on Software Engineering

Tianpei Xia

·

Rui Shu

·

Xipeng Shen

·

Many methods have been proposed to estimate how much effort is required to build and maintain software. Much of that research tries to recommend a single method – an approach that makes the dubious assumption that one method can handle the diversity of software project data. To address this drawback, we apply a configuration technique called “ROME” (Rapid Optimizing Methods for Estimation), which uses sequential model-based optimization (SMO) to find what configuration settings of effort estimation techniques work best for a particular data set. We test this method using data from 1161 traditional waterfall projects and 120 contemporary projects (from GitHub). In terms of magnitude of relative error and standardized accuracy, we find that ROME achieves better performance than the state-of-the-art methods for both traditional waterfall and contemporary projects. In addition, we conclude that we should not recommend one method for estimation. Rather, it is better to search through a wide range of different methods to find what works best for the local data. To the best of our knowledge, this is the largest effort estimation experiment yet attempted and the only one to test its methods on traditional waterfall and contemporary projects.


Omni: Automated Ensemble with Unexpected Models against Adversarial Evasion Attack

November 2020

·

49 Reads

BACKGROUND: Machine learning-based security detection models have become prevalent in modern malware and intrusion detection systems. However, previous studies show that such models are susceptible to adversarial evasion attacks. In this type of attack, inputs (i.e., adversarial examples) are specially crafted by intelligent malicious adversaries, with the aim of being misclassified by existing state-of-the-art models (e.g., deep neural networks). Once the attackers can fool a classifier to think that a malicious input is actually benign, they can render a machine learning-based malware or intrusion detection system ineffective. GOAL: To help security practitioners and researchers build a more robust model against adversarial evasion attack through the use of ensemble learning. METHOD: We propose an approach called OMNI, the main idea of which is to explore methods that create an ensemble of "unexpected models"; i.e., models whose control hyperparameters have a large distance to the hyperparameters of an adversary's target model, with which we then make an optimized weighted ensemble prediction. RESULTS: In studies with five adversarial evasion attacks (FGSM, BIM, JSMA, DeepFool and Carlini-Wagner) on five security datasets (NSL-KDD, CIC-IDS-2017, CSE-CIC-IDS2018, CICAndMal2017 and the Contagio PDF dataset), we show that the improvement rate of OMNI's prediction accuracy over attack accuracy is about 53% (median value) across all datasets, with about 18% (median value) loss rate when comparing pre-attack accuracy and OMNI's prediction accuracy. CONCLUSION When using ensemble learning as a defense method against adversarial evasion attacks, we suggest to create ensemble with unexpected models who are distant from the attacker's expected model (i.e., target model) through methods such as hyperparameter optimization.


Predicting Project Health for Open Source Projects (using the DECART Hyperparameter Optimizer)

June 2020

·

57 Reads

Software developed on public platforms are a source of data that can be used to make predictions about those projects. While the activity of a single developer may be random and hard to predict, when large groups of developers work together on software projects, the resulting behavior can be predicted with good accuracy. To demonstrate this, we use 78,455 months of data from 1,628 GitHub projects to make various predictions about the current status of those projects (as of April 2020). We find that traditional estimation algorithms make many mistakes. Algorithms like k-nearest neighbors (KNN), support vector regression (SVR), random forest (RFT), linear regression (LNR), and regression trees (CART) have high error rates (usually more than 50% wrong, sometimes over 130% wrong, median values). But that error rate can be greatly reduced using the DECART hyperparameter optimization. DECART is a differential evolution (DE) algorithm that tunes the CART data mining system to the particular details of a specific project. To the best of our knowledge, this is the largest study yet conducted, using the most recent data, for predicting multiple health indicators of open-source projects. Further, due to our use of hyperparameter optimization, it may be the most successful. Our predictions have less than 10% error (median value) which is much smaller than the errors seen in related work. Our results are a compelling argument for open-sourced development. Companies that only build in-house proprietary products may be cutting themselves off from the information needed to reason about those projects.


Sequential Model Optimization for Software Process Control

December 2019

·

39 Reads

Many methods have been proposed to estimate how much effort is required to build and maintain software. Much of that research assumes a "classic" waterfall-based approach rather than contemporary agile projects. Also, much of that work tries to recommend a single method-- an approach that makes the dubious assumption that one method can handle the diversity of software project data. To address these drawbacks, we apply a configuration technique called "ROME" (Rapid Optimizing Methods for Estimation), which uses sequential model-based optimization to find what combination of techniques works best for a particular data set. In this paper, we test this method using data from 1161 classic waterfall projects and 446 contemporary agile projects (from Github). We find that ROME achieves better performance (in terms of magnitude of relative error and standardized accuracy) than existing state-of-the-art methods for both classic and contemporary problems. From this work, we conclude that it is not best to recommend method for estimation. Rather, it is better to search through a wide range of different methods to find what works best for local data. To the best of our knowledge, this is the largest effort estimation experiment yet attempted and the only one to test its methods on classic and contemporary projects.


Improved Recognition of Security Bugs via Dual Hyperparameter Optimization

November 2019

·

40 Reads

Rui Shu

·

Tianpei Xia

·

·

[...]

·

Background: Security bugs need to be handled by small groups of engineers before being widely discussed (otherwise the general public becomes vulnerable to hackers that exploit those bugs). But learning how to separate the security bugs from other bugs is challenging since they may occur very rarely. Data mining that can find such scarce targets required extensive tuning effort. Goal: The goal of this research is to aid practitioners as they struggle to tune methods that try to distinguish security-related bug reports in a product's bug database, through the use of a dual hyperparameter optimizer that learns good settings for both learners and for data pre-processing methods. Method: The proposed method, named SWIFT, combines learner hyperparameter optimization and pre-processor hyperparameter optimization. SWIFT uses a technique called epsilon-dominance, the main idea of which is to ignore operations that do not significantly improve the performance. As a result, the optimization effort can be efficiently reduced. Result: When compared to recent state-of-the-art results (from FARSEC which is published in TSE'18), we find that SWIFT's dual optimization of both pre-processor and learner is more useful than optimizing each of them individually. For example, in a 10-way cross-validation study looking for security bugs from the Chromium web-browser, the FARSEC and SWIFT recalls were 20.4% and 77.1%, respectively, with false alarm rates under 20%. For another example, in experiments with data from the Ambari software project, recalls improved from 30.4 to 83.9% while false alarms remained under 22%. Conclusion: Overall, our approach shows advantages in achieving better performance in a fast way than existing stat-of-the-art method. Therefore, this encourages us in solving similar problems with dual optimization in the future work.


Better Security Bug Report Classification via Hyperparameter Optimization

May 2019

·

116 Reads

When security bugs are detected, they should be (a)~discussed privately by security software engineers; and (b)~not mentioned to the general public until security patches are available. Software engineers usually report bugs to bug tracking system, and label them as security bug reports (SBRs) or not-security bug reports (NSBRs), while SBRs have a higher priority to be fixed before exploited by attackers than NSBRs. Yet suspected security bug reports are often publicly disclosed because the mislabelling issues ( i.e., mislabel security bug reports as not-security bug report). The goal of this paper is to aid software developers to better classify bug reports that identify security vulnerabilities as security bug reports through parameter tuning of learners and data pre-processor. Previous work has applied text analytics and machine learning learners to classify which reported bugs are security related. We improve on that work, as shown by our analysis of five open source projects. We apply hyperparameter optimization to (a)~the control parameters of a learner; and (b)~the data pre-processing methods that handle the case where the target class is a small fraction of all the data. We show that optimizing the pre-processor is more useful than optimizing the learners. We also show that improvements gained from our approach can be very large. For example, using the same data sets as recently analyzed by our baseline approach, we show that adjusting the data pre-processing results in improvements to classification recall of 35% to 65% (median to max) with moderate increment of false positive rate.


Citations (7)


... DE has been widely applied [67] 8 . Within software engineering, DE has been used for optimization tasks such as Fu et al. [68] tuning study on defect prediction; Shu et al.'s study on tuning detectors for security issues [69], and Xia at al.s study that tuned project health predictors for for opensource JAVA systems [34]. ...

Reference:

Less Noise, More Signal: DRR for Better Optimizations of SE Tasks
Dazzle: using optimized generative adversarial networks to address security data class imbalance issue
  • Citing Conference Paper
  • October 2022

... IAST and RASP have not often been compared to well-established counterparts, such as Dynamic Application Security Testing (DAST), Static Application Security Testing (SAST), and penetration testing, particularly in the context of a large system. Austin and Williams (2011), Austin et al. (2013), and Elder et al. (2022) compared the performance of DAST, SAST, and does not take into account the performance of IAST and RASP. Another previous study by which relied on the OWASP Benchmark project (Open Web Application Security Project (OWASP) Foundation 2022), a limited Java test suite focused on a fixed set of vulnerabilities and, lacked human review, thereby failing to accurately represent real-world scenarios. ...

Do I really need all this work to find vulnerabilities?: An empirical case study comparing vulnerability detection techniques on a Java application
  • Citing Article
  • Publisher preview available
  • August 2022

Empirical Software Engineering

... Understanding when a software project is in a healthy state remains a critical yet unsolved challenge in software development. While repositories provide extensive data about project activities, from code changes to community interactions, current approaches struggle to convert this wealth of information into actionable insights about project health [1,2]. This gap affects both practitioners managing projects and researchers studying software development. ...

Predicting health indicators for open source projects (using hyperparameter optimization)

Empirical Software Engineering

... Notably, various categories of ransomware exist, each with unique characteristics. These categories encompass crypto worms in ref. [27], Human-operated Ransomware in ref. [28], Ransomware-as-a-Service (RaaS) in ref. [29], and Automated Active Adversary ransomware in ref. [30]. Table 2 encapsulates the essential features, propagation methods, exploitation strategies, and ransomware families associated with these diverse ransomware types. ...

Omni: automated ensemble with unexpected models against adversarial evasion attack

Empirical Software Engineering

... The security testing method comprises two parts: vulnerability assessment and penetration testing [36]. Both tests are performed on each product service during the research, with the front-end system and API system acting as the back-end. ...

Structuring a Comprehensive Software Security Course Around the OWASP Application Security Verification Standard
  • Citing Conference Paper
  • May 2021

... In addition, researchers also analyze the vulnerabilities from various project artifacts (e.g., IRs, bug reports, etc.). Some researchers utilized text-mining methods to explore the security bug reports to identify the vulnerabilities [29,[82][83][84], while other works analyze the negative impact of the vulnerabilities from the IRs [62,64,66,75]. The other researchers focus on the crowd-based security discussions, e.g., security posts in Stack Overflow, and discussion groups in Gitter/Slacks, to analyze the topics, attacks, and the corresponding mitigations [40,52,67,89,92]. ...

How to Better Distinguish Security Bug Reports (Using Dual Hyperparameter Optimization)

Empirical Software Engineering

... The annual PROMISE meeting knows it needs to revisit its goals and methods. Gema Rodríguez-Pérez 9 7. E.g. see the 1100+ recent Github projects used by Xia et al. [50], or everything that can be extracted using CommitGuru [51]. 8 10 cautions that in the early years of PROMISE, data sets were often not really raw data, but rather directly collections of metrics. ...

Sequential Model Optimization for Software Effort Estimation
  • Citing Article
  • December 2020

IEEE Transactions on Software Engineering