PatchTrack: Analyzing ChatGPT's Impact on Software Patch Decision-Making in Pull Requests
In recent years, the integration of AI tools such as ChatGPT into software development has grown significantly, reflecting broader trends in AI-assisted workflows [8]. These tools have great potential to improve decision making related to software patches in pull requests (PR), which are vital components of collaborative software development. Specifically, developers are using features such as link sharing in ChatGPT to enhance collaborative practices, streamline code reviews, and make more informed patch integration decisions.
- Conference Article
11
- 10.1109/iccnt.2010.35
- Jan 1, 2010
The usage of the Internet has become ubiquitous, even for desktop applications to assume that the computer system it is running on is connected to the Internet. Desktop applications rely on the Internet connectivity for software license authentication and also for maintenance through downloading of software patches. However, the latter can pose an annoyance to the user when he or she is relying on the Internet for real-time gaming or during heavy downloading of multimedia files. In this paper, we study the effectiveness of using the ARMA model to provide short range forecasting of Internet network TCP traffic for a single broadband line. The outcome of the research is positive and indicates that a step size of 30 seconds and irrespective of the window size gives the most accurate forecast. Through amplification of the results, this method shows strong indication that it can be implemented by software application developers to determine the most appropriate non-disruptive period to download their software patches. For small sized software patches, the software application can activate the download and a period of 120 seconds would be sufficient.
- Research Article
2
- 10.1016/j.infsof.2024.107543
- Jul 29, 2024
- Information and Software Technology
Automated description generation for software patches
- Research Article
25
- 10.1142/s0218539318500183
- Jun 6, 2018
- International Journal of Reliability, Quality and Safety Engineering
Testing life cycle poses a problem of achieving a high level of software reliability while achieving an optimal release time for the software. To enhance the reliability of the software, retain the market potential for the software and reduce the testing cost, the enterprise needs to know when to release the software and when to stop testing. To achieve this, enterprises usually release their product earlier in market and then release patches subsequently. Software patching is a process through which enterprises debug, update, or enhance their software. Software patching when used as a debugging process ensures an optimal release for the product, increasing the reliability of the software while reducing the economic overhead of testing. Today, due to the diverse and distributed nature of software, its journey in the market is dynamic, making patching an inherent aspect of testing. A patch is a piece of software designed to update a computer program or its supporting data to fix or improve it. Researchers have worked in the field to minimize the testing cost, but so far, reliability has not been considered in the models for optimal time scheduling using patching. In this paper, we discuss reliability, which is a major attribute of the quality of software. Thus, to address the issues of testing cost, release time of software, and a desirable reliability level, we propose a reliability growth model implementing software patching to make the software system reliable and cost effective. The numeric illustration has been implemented using real-life software failure data set.
- Conference Article
2
- 10.1109/ocit56763.2022.00116
- Dec 1, 2022
Every kind of software system needs an update one or the other day. One such update could be a routine software patch, security patch or a total periodical system update. As the field of Internet Of Medical Things (IOMT) is emerging drastically day by day with huge network of devices connected over internet, comes the challenge of software update Over The Air (OTA) to all the connected target nodes of a wireless sensor network without interrupting the services for longer time. Considering crucial applications of Internet Of Things (IOT) like Health Care, Smart Grids or any other sensitive environments where response time of the system is very less, while applying a software patch or security patch to the concerned device has to be done as quickly as possible, which keeps the services uninterrupted, which requires smart patching. Ideally zero downtime is desired in such critical applications, which is still a long way to go. This article presents a way of deploying the software patches to the IOT systems with multiple features which helps to reduce the downtime of the system over Secure Shell (SSH) Communication Protocol.
- Research Article
4
- 10.1109/49.81958
- May 1, 1991
- IEEE Journal on Selected Areas in Communications
The author highlights various concepts related to software patching in the stored program control (SPC) environment. He introduces the concept of software maintenance and studies the effect of the software patching process on switching system reliability. The importance of managing the software change process, including patch testing and patch tracking, is discussed. The types of patches that are typically applied in the SPC switching environment are described. It is pointed out that the prime objective of real-time software suppliers, especially those supporting SPC switching systems, should be to minimize online patching. It is concluded that proper design specification of SPC switching functions and patches, coupled with exhaustive testing of software/hardware interfaces, could help reduce the number of patches in the field.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
- Research Article
11
- 10.1109/access.2017.2676161
- Jan 1, 2017
- IEEE Access
During the lifecycle of a software system, software patches are committed to software repositories to fix discovered bugs or append new features. Unfortunately, the patches may bring new bugs or vulnerabilities, which could break the stability and security of the software system. A study shows that more than 15% of software patches are erroneous due to poor testing. In this paper, we present a novel approach for automatically determining whether a patch brings new vulnerabilities. Our approach combines symbolic execution with data flow analysis and static analysis, which allows a quick check of patch-related codes. We focus on typical memory-related vulnerabilities, including buffer overflows, memory leaks, uninitialized data, and dangling pointers. We have implemented our approach as a tool called KPSec, which we used to test a set of real-world software patches. Our experimental results show that our approach can effectively identify typical memory-related vulnerabilities introduced by the patches and improve the security of the updated software.
- Research Article
5
- 10.1016/j.hrcr.2018.12.013
- Jan 11, 2019
- HeartRhythm Case Reports
Pacemaker firmware update and interrogation malfunction
- Research Article
5
- 10.1016/s0094-5765(03)00152-8
- Aug 1, 2003
- Acta Astronautica
Project Galileo: Farewell to the major moons of Jupiter
- Conference Article
26
- 10.1145/2492517.2500244
- Aug 25, 2013
How does malware propagate? Does it form spikes over time? Does it resemble the propagation pattern of benign files, such as software patches? Does it spread uniformly over countries? How long does it take for a URL that distributes malware to be detected and shut down? In this work, we answer these questions by analyzing patterns from 22 million malicious (and benign) files, found on 1.6 million hosts worldwide during the month of June 2011. We conduct this study using the WINE database available at Symantec Research Labs. Additionally, we explore the research questions raised by sampling on such large databases of executables; the importance of studying the implications of sampling is twofold: First, sampling is a means of reducing the size of the database hence making it more accessible to researchers; second, because every such data collection can be perceived as a sample of the real world. Finally, we discover the SharkFin temporal propagation pattern of executable files, the GeoSplit pattern in the geographical spread of machines that report executables to Symantec's servers, the Periodic Power Law (Ppl) distribution of the life-time of URLs, and we show how to efficiently extrapolate crucial properties of the data from a small sample. To the best of our knowledge, our work represents the largest study of propagation patterns of executables.
- Research Article
13
- 10.1016/j.cose.2023.103389
- Jul 21, 2023
- Computers & Security
Seeing is not always believing: Insights on IoT manufacturing from firmware composition analysis and vendor survey
- Research Article
26
- 10.1007/s11071-016-2779-0
- Apr 25, 2016
- Nonlinear Dynamics
Computer worm is a worldwide threat to the safety of Internet, which caused billions of dollars in damages over the past decade. Software patches have been widely used as one of approaches to protect computers against computer worms. In this study, an impulsive state feedback model was employed to study the transmission of computer worm and the preventive effect of operating system patching. The existence of order-1 periodic solution and its stability were proved with a novel method. The results demonstrated that the application of software patches is an effective approach to constrain the deluge of computer worm. Numerical simulation results were presented to support the theoretical analysis.
- Conference Article
- 10.2514/6.2006-5794
- Jun 19, 2006
Ground systems go through multiple mission phases and changes as an operational architecture evolves. Even after the ground system begins supporting on-orbit operations, the design must be able to adapt and support hardware, software, and network security changes. These ongoing dynamics prove to be a significant challenge to ground system designers who wish to maintain system adaptability on a constrained budget. This paper examines the approach taken on the WMAP mission in providing a flexible low budget ground system. The WMAP mission took a unique ground system approach and used the same ground system from box-level testing, through spacecraft I&T to on-orbit operations. A prime motivator in this decision was cost. WMAP is a MIDEX mission and adhered to a capped budget for design, fabrication, I&T, launch, and operations for the primary mission (duration of 2 years). The project was able to eliminate ballooned costs and ground system fragmenting by utilizing one ground system software package. Additional funds were saved since the procedures, databases, and code developed during I&T were already tested and reusable for operations - eliminating extra man-hours in training and development. A side benefit of maintaining the same ground software through different mission phases was keeping the same personnel. A core group of engineers and testers were able to stay with the project from I&T through to on-orbit operations giving the flight operations team considerable insight regarding the spacecraft. Other missions at GSFC have adopted the WMAP approach and achieved savings. These missions include: EO-1, ST-5, and SDO. WMAP uses the commercially available Advanced System for Integration and Spacecraft Test (ASIST) and Front End Data System (FEDS) software packages initially developed at GSFC for its ground system. When the ground system software was chosen, ASIST was only available on AIX workstations and FEDS was limited to Digital Dec Alpha platforms. Software selection was made with the knowledge that both ASIST and FEDS were undergoing continuous development and being ported to the LINUX operating system. To ensure ongoing support and upgrades, research and development funding was made available to the ASIST/FEDS programmers. The ASIST/FEDS port to LINUX is an important step in WMAP's ground system evolution considering the cost of AIX workstations and the decommissioning of Digital Dec Alpha platforms. A LINUX PC can be used to replace existing hardware as it fails or requires upgrades, allowing the ground system to keep pace with existing technology. WMAP's ground system has adapted since launch to meet other mission needs. Ongoing network security updates and improvements in network speed have required ground system re-engineering and software patches. Also, the ground system must support a wide variety of changes in WMAP automation procedures
- Research Article
14
- 10.1109/maes.2017.160079
- Jun 1, 2017
- IEEE Aerospace and Electronic Systems Magazine
Since their dawning, space communications have been among the strongest driving applications for the development of error correcting codes. Indeed, space-to-Earth telemetry (TM) links have extensively exploited advanced coding schemes, from convolutional codes to Reed-Solomon codes (also in concatenated form) and, more recently, from turbo codes to low-density parity-check (LDPC) codes. The efficiency of these schemes has been extensively proved in several papers and reports. The situation is a bit different for Earth-to-space telecommand (TC) links. Space TCs must reliably convey control information as well as software patches from Earth control centers to scientific payload instruments and engineering equipment onboard (O/B) spacecraft. The success of a mission may be compromised because of an error corrupting a TC message: a detected error causing no execution or, even worse, an undetected error causing a wrong execution. This imposes strict constraints on the maximum acceptable detected and undetected error rates.
- Research Article
10
- 10.1109/tdsc.2021.3091159
- Sep 1, 2022
- IEEE Transactions on Dependable and Secure Computing
Graphics Processing Units (GPUs) are now a key component of many devices and systems, including those in the cloud and data centers, thus are also subject to side-channel attacks. Existing side-channel attacks on GPUs typically leak information from graphics libraries like OpenGL and CUDA, which require creating contentions within the GPU resource space and are being mitigated with software patches. This article evaluates potential side channels exposed at a lower-level interface between GPUs and CPUs, namely the graphics interrupts. These signals could indicate unique signatures of GPU workload, allowing a spy process to infer the behavior of other processes. We demonstrate the practicality and generality of such side-channel exploitation with a variety of assumed attack scenarios. Simulations on both Nvidia and Intel graphics adapters showed that our attack could achieve high accuracy, while in-depth studies were also presented to explore the low-level rationale behind such effectiveness. On top of that, we further propose a practical mitigation scheme which protects GPU workloads against the graphics-interrupt-based side-channel attack by piggybacking mask payloads on them to generate interfering graphics interrupt “noises”. Experiments show that our mitigation technique effectively prohibited spy processes from inferring user behaviors via analyzing runtime patterns of graphics interrupt with only trivial overhead.
- Research Article
12
- 10.1109/mc.2004.71
- Aug 1, 2004
- Computer
Zero-day attacks are those for which users receive no prior warning and thus have no preventive measures in place. We integrate the vulnerability discovery, patch generation, and patch application cycles into a system that automatically detects a new attack, analyzes its modus operandi, determines the best software patch, and applies it at the desired level of granularity LAN, enterprise, or Internet-wide. We develop a vaccination system that automatically generates patches to protect an application's source code.