Exploration of Patch Generation Search Spaces using Software Metrics

Slide Note
Embed
Share

This research focuses on improving the exploration of patch generation search spaces by utilizing software metrics in the context of bug generation. The study investigates the threat of malicious code insertion in third-party code construction for military projects and explores the concept of Patch Generation, particularly Patch Search utilizing Transformation Operators. The experiment procedure involves baseline bug analysis and comparison with naive bug detection using machine learning techniques. The ultimate goal is to enhance patch generation techniques and mitigate potential security threats.


Uploaded on Oct 08, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Improvement of Exploration of Patch Generation Search Spaces Using Software Metrics in the Context of Bug Generation Dr. Tyler Westland Student: Student Email: westlatr@mail.uc.edu Faculty: Dr. Nan Niu / Dr. Rashmi Jha Faculty Email: niunn@ucmail.uc.edu / jhari@ucmail.uc.edu AFRL Sponsor: Dr. David Kapp AFRL Directorate: AFRL/Sensors PA #: AFRL-2022-4828

  2. Threat Model The military often contracts third parties to construct code for projects. This model suggests a developer in that third party purposefully adds buggy code. The issue is that Anti-Virus systems are not meant to detect such problems. Exploring this will help reveal what such an attack might look like and how to mitigate it. An example of this is unethically inserting a buggy commit into the Linux Kernel to test if maintainers would catch them [1]. Our project remains ethical by not testing humans or production systems. [1]: SeventhQueen. Researchers Secretly Tried To Add Vulnerabilities To Linux Kernel, Ended Up Getting Banned. Accessed April 22, 2021. https://fosspost.org/researchers-secretly- tried-to-add-vulnerabilities-to-linux-kernel/. PA #: AFRL-2022-4828

  3. Patch Generation Patch Generation [2] exploits the fact that bugs are made of code that is almost correct. This means a small change can be applied to fix it. We explored an attacker using this to instead create bugs. We explored a specific type of Patch Generation called Patch Search, which uses Transformation Operators to define a search space of patches to explore. Transformation Operators we used as part of Darjeeling [3] (delete, insert, replace). Return and infinite created by us. [2]: Long, Fan, and Martin Rinard. An Analysis of the Search Spaces for Generate and Validate Patch Generation Systems. In Proceedings of the 38th International Conference on Software Engineering, 702 13. ICSE 16. New York, NY, USA: Association for Computing Machinery, 2016. https://doi.org/10.1145/2884781.2884872. [3]: https://github.com/squaresLab/Darjeeling PA #: AFRL-2022-4828

  4. Studied Programs This is information about the four modules within GSL [4] [4] M. Galassi et al., GNU Scientif ic Library Reference Manual, 3rd ed. PA #: AFRL-2022-4828

  5. Experiment Procedure Pseudo code base_line_bugs = {} for m in modules: bugs[m] = darjeeling(sus=test_coverage_based_susser(m)) metrics = {} for m in modules: metrics[m] = software_metrics(m) naive_bugs = {} for m in modules: nb = NavieBayes(filter(m, bugs), filter(m, metrics)) naive_bugs[m] = darjeeling (sus=naive_bayes_susser(nb, m)) perform_analysis(base_line_bugs, naive_bugs) PA #: AFRL-2022-4828

  6. Normalized Results: Scaling Factor PA #: AFRL-2022-4828

  7. Normalized Results: Estimator PA #: AFRL-2022-4828

  8. Normalized Results: Metrics PA #: AFRL-2022-4828

Related