Fetching the latest programs, projects, and workspace data.
Using machine learning and security to help others
Showing 2 of 2 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Sekhar Kumar Dash
Currently, the codebase lacks comprehensive unit testing coverage for all critical components, and the existing unit tests do not provide adequate coverage. The primary objective of this project is to augment unit test coverage for essential files, aiming to achieve a coverage range of 90% to 95%. Subsequently, these unit tests will be seamlessly integrated into the existing GitHub continuous integration and continuous deployment (CI/CD) pipeline. The CI pipeline is presently triggered on each pull request to the 'develop' branch. However, merging is contingent upon the successful execution of these tests, which can be manually triggered by either the maintainers or the developers locally. The overarching goal is to establish an automated testing framework, ensuring that no code is merged unless it passes all requisite tests, with the exception of documentation or non-code-related pull requests.
Mentors: Student: Daniel Yang
SLIPS is a Machine Learning based intrusion detection system, which scans network traffic and processes the data using a variety of techniques, both machine learning based as well as heuristic based. Despite having many different features and techniques to detect malicious behaviors on a target network, there will always be a problem of processing so much network traffic data quickly and efficiently, both in regards to the CPU and memory usage. However, there is currently no way to gather data about CPU and memory usage during execution time, which makes it difficult to make further performance improvements to the project. Therefore, this project seeks to remedy this by creating a set of tools to gather performance data about the IDS execution behavior. To improve performance data gathering capabilities, the following features will be added to the project: - CPU profiling module - Memory profiling module - Both modules will allow for: Export of profile data, output as both absolute and difference from input profile baseline (if provided), output as data stream - CPU/Memory data visualization/analysis module which can: Show process resource usage over time, can restrict to top however many if desired, histogram of resource consumption and time spent at consumption level for a single module, and recommendation lists for modules needing optimization, scoring criteria based on highest memory/CPU usage, longest blocking time, and weighted aggregate score.