Application Portability Metric via System Call Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies lack automated methods to measure how coupled an application is to an operating system, which is crucial for determining application portability and quality of design, essential for maintenance and refactoring.
Innovation Solution
A test process that executes an application under test, monitors and captures system calls specific to a particular operating system, computes a portability metric based on these calls, and provides a heatmap visualization to indicate dependency on the OS, using tools like enhanced Berkley Packet Filter (eBPF) to intercept and analyze OS-level system interactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If automated monitoring of system calls is implemented, then application portability measurement capability is improved, but device complexity increases
Solution Approach 1:
The patent introduces an intermediary testing system comprising a test process and monitoring mechanism that sits between the application under test and the operating system. This intermediary captures system calls without modifying the application code, enabling automated portability measurement while maintaining a clear separation of concerns and manageable system complexity
Solution Approach 2:
The patent replaces manual code review and manual testing mechanisms with an automated monitoring system that uses eBPF (extended Berkeley Packet Filter) technology to automatically capture and analyze system calls. This substitution transforms a labor-intensive manual process into an automated mechanical system, improving measurement precision while the automation itself manages the complexity
2Measurement precision
If comprehensive system call monitoring is performed, then portability metric accuracy is improved, but execution time increases
Solution Approach 1:
The monitoring system uses eBPF technology to rapidly capture and process system calls in an efficient manner. By skipping unnecessary processing steps and using optimized filtering mechanisms, the system achieves comprehensive monitoring with minimal overhead, thus improving portability metric accuracy while limiting the time loss to acceptable levels
Solution Approach 2:
The system monitors system calls selectively rather than analyzing every single operation in detail. It focuses on capturing relevant system call patterns that indicate operating system dependencies, performing partial monitoring that provides sufficient accuracy for portability assessment without the full time cost of exhaustive analysis
Data Source
AI summary
In one embodiment, a test process herein may: execute an application under test; monitor execution of the application under test for system calls specific to a particular operating system in which the application under test is being executed; capture a count of system calls specific to the particular operating system during the execution of the application under test; and compute a portability metric based on the count of system calls specific to the particular operating system, the portability metric indicative of how dependent the application under test is on the particular operating system.


