In a collaborative multi-user model-driven engineering context, it becomes important to track who changed what model part how and why. Operation-based versioning addresses this need by persisting a meaningful edit his...
详细信息
In a collaborative multi-user model-driven engineering context, it becomes important to track who changed what model part how and why. Operation-based versioning addresses this need by persisting a meaningful edit history which enables a single user to navigate through a model's evolution over time, to analyze arbitrary previous model versions, or to trace the impact of an operation. However, to load a distinct prior version, it must be restored by reapplying all previous operations, which is time-consuming and, thus, interrupts a user's workflow. Caching with a fixed distance between caches helps to overcome this problem to the cost of increasing memory requirements. Further, there is no caching approach supporting branches, merges, and possibly resolved conflicts. We propose two advanced caching strategies for operation-based versioning capable of the previously mentioned features: zonal and adaptive caching. Both strategies reduce the memory in use by not applying the same static distance between two caches across the whole edit history. Instead, the distance increases depending on a version's age and its distance to a branch's head. Both strategies aim to reduce the restoration time of arbitrary prior versions below a threshold to not interrupt a user's flow of thought. Zonal caching employs predefined distances compatible with a broad range of model sizes. In contrast, adaptive caching derives the distances individually depending on the initial time to load the model on a user's computer and the model's *** conducted controlled experiments with models of varying sizes and compared the time to restore model versions and the memory in use for no caching, caching with static distances, zonal, and adaptive strategies on different computers. The developed strategies decrease the time to restore a version remarkably while using less memory than static caching. Our results show that for all considered systems and models individual adaptive caching reduces memory u
Stream Runtime Verification (SRV) is gaining traction for monitoring systems with data streams, but it struggles with specifying state-based systems and control flow. While automata models like state charts excel at r...
详细信息
ISBN:
(纸本)9783031742330;9783031742347
Stream Runtime Verification (SRV) is gaining traction for monitoring systems with data streams, but it struggles with specifying state-based systems and control flow. While automata models like state charts excel at representing states, functional languages offer solutions like monads (e.g., in Haskell) to elegantly handle state and data streams together. Other approaches exist in Lustre/Esterel or Rust. However, for SRV frameworks like TeSSLa, no such approach exists so far. This paper extends TeSSLa's syntax by building on a monadic type to simplify for improved control flow specifications.
Classifying firewall log files allows analysing potential threats and decidingon appropriate rules to prevent them. Therefore, in this study, firewall log filesare classified using different classification algorithms ...
详细信息
Classifying firewall log files allows analysing potential threats and decidingon appropriate rules to prevent them. Therefore, in this study, firewall log filesare classified using different classification algorithms and the performanceof the algorithms are evaluated using performance metrics. The dataset wasprepared using the log files of a firewall. It was filtered to make it free fromany personal data and consisted of 12 attributes in total and from theseattributes the action attribute was selected as the class. In the performanceevaluation, Simple Cart and NB tree algorithms made the best predictions,achieving an accuracy rate of 99.84%. Decision Stump had the worst predic-tion performance, achieving an accuracy rate of 79.68%. As the total numberof instances belonging to each of the classes in the dataset was not equal, theMatthews correlation coefficient was also used as a performance metric in theevaluations. The Simple Cart, BF tree, FT tree, J48 and NB Tree algorithmsachieved the highest average values. However, although the reset-both classwas not predicted successfully by the others, the Simple Cart algorithm madethe best predictions for it. The values of other performance metrics used inthis study also support this conclusion. Therefore, the Simple Cart algorithm is recommended for use in classifying firewall log files. However, there is aneed to develop a prefiltering and parsing approach to process different logfiles as each firewall brand creates and maintains log files in its own ***, in this study, a novel prefiltering and parsing approach has beenproposed to process log files with different structures and create structureddatasets using them.
Context: Technically sophisticated systems are the result of the joint work of several domain experts. However, the more people collaborate, the more important it becomes to make the model evolution and its single edi...
详细信息
ISBN:
(纸本)9798400705045
Context: Technically sophisticated systems are the result of the joint work of several domain experts. However, the more people collaborate, the more important it becomes to make the model evolution and its single edit operations accessible and comprehensible for involved stakeholders. Objective: We developed the textual and semantic aware query language EditQL. It enables domain experts to search for model versions, changes, and causing edit operations within a model's edit history. Based on an operation-based versioning system, the query language covers both edit operations and all model states. Method: We systematically elaborate the requirements of a query language for edit histories. Based on this, we present a DSL integrated into an existing modeling tool. We conducted a mixed-methods usability study with 15 participants in which they had to answer various questions about a model's evolution using EditQL. Results: All participants agreed on the usefulness of the query language, particularly the possibility of querying for semantic changes in the model. The measured System Usability Scale (SUS) scores range from OK to good. In addition, we identified a set of possible improvements. Conclusion: The study confirmed that EditQL and the underlying concepts are suitable tools to help domain experts understand the evolution of a model.
This article presents a novel method for detecting copied code fragments called clones, which is then utilized to identify known common vulnerabilities and exposures copies. The proposed method is versatile and applic...
详细信息
This article presents a novel method for detecting copied code fragments called clones, which is then utilized to identify known common vulnerabilities and exposures copies. The proposed method is versatile and applicable to both source and binary code. It overcomes the limitations of existing tools that typically focus on detecting entire function clones and specializing in either source or binary code, but not both. The method outputs all the detected clones by comparing the provided code fragment against the target project. It employs program dependence graphs-a data structure that unifies data and control dependencies for the function to achieve high accuracy. Experimental evaluations of real-world projects and benchmarks demonstrate the high precision of the proposed method. Furthermore, we successfully applied this method to detect clones of known common vulnerabilities and exposures in source code and uncovered vulnerabilities in actual software. The detected vulnerabilities were confirmed by the community, validating the effectiveness of the proposed method.
We present a study to assess the feasibility and implications of replacing internal combustion engine vehicles with battery-powered electric vehicles (EVs) in a car-sharing fleet. For the analysis, we used operational...
详细信息
ISBN:
(纸本)9798400710483
We present a study to assess the feasibility and implications of replacing internal combustion engine vehicles with battery-powered electric vehicles (EVs) in a car-sharing fleet. For the analysis, we used operational data from a local car-sharing company, which encompasses various aspects such as trip distance, start and duration, vehicle type, and pickup and return locations. To evaluate the impact of transitioning the entire fleet to EVs, we used EV and charger models to simulate the battery-powered trips and also the necessary post-trip recharging. Both could affect the service quality of car sharing services, as the requested trip distance might not be covered by an electric vehicle due to range or charging time limitations. Specifically, in our simulation-based analysis, we identified chains of consecutive bookings as a critical factor for car-sharing electrification. Furthermore, to assess the potential impact of electrification on the energy grid, we used data about the local grid load and its composition to relate it to the predicted vehicle charging times.
Self-adaptive cloud systems dynamically adapt their configuration to achieve Service Level Objectives (SLOs), for example, to ensure a response time below a certain threshold, in changing environments. However, unders...
详细信息
ISBN:
(纸本)9798331528492;9798331528485
Self-adaptive cloud systems dynamically adapt their configuration to achieve Service Level Objectives (SLOs), for example, to ensure a response time below a certain threshold, in changing environments. However, understanding these reconfigurations is challenging. To address this issue, we introduce ADVISE, a visualization tool for reconfigurations in self-adaptive systems. Our adaption approach leverages the Palladio ecosystem to predict system performance and plan optimal reconfigurations by exploring the state space. The optimal path in the state space graph, determined by a utility value based on the SLOs, represents the ideal policy. Our tool provides real-time visualizations of performance predictions and reconfiguration plans aiding developers in managing and optimizing system behavior effectively. We enable both the analysis of individual states and the examination of paths within the state space graph, enabling users to analyze not only single adaptation decisions but also the overall reconfiguration behavior. Video URL: https://***/watch?v=l2voxECKJj8 [1]
CONTEXT: Operation-based versioning introduces the benefit of meaningful edit histories. However, to load a distinct prior version, it must be restored by reapplying all previous operations, which is time-consuming an...
详细信息
ISBN:
(纸本)9798350324983
CONTEXT: Operation-based versioning introduces the benefit of meaningful edit histories. However, to load a distinct prior version, it must be restored by reapplying all previous operations, which is time-consuming and interrupts the user's workflow. Caching helps to overcome this problem to the cost of increasing memory requirements. Further, there is no caching approach supporting branches, merges, and possibly resolved conflicts. OBJECTIVE: We developed an adaptive caching strategy capable of the previously mentioned features. The adaptive strategy aims at reducing the memory in use by garbage collecting aged caches by not using the same static distance between two caches across the whole edit history. Instead, the distance increases depending on a version's age and its distance to a branch's head. METHOD: We conducted a controlled experiment with models of several sizes and compared the time to restore model versions and the memory in use for no caching, static caching, and our developed adaptive caching. RESULTS: Adaptive caching decreases the time to restore a version to 0.0007% and 8.3% compared to no caching. While static caching performs slightly better, it uses 70% more memory than adaptive caching. CONCLUSION: Our adaptive caching strategy performs well on models with branches and merges and reduces the time to restore below thresholds which would negatively impact the user experience.
This article introduces a novel method for the precise and scalable detection of memory leaks comprising two primary stages. Initially, context-, flow-, and field-sensitive static analysis is used to identify potentia...
详细信息
This article introduces a novel method for the precise and scalable detection of memory leaks comprising two primary stages. Initially, context-, flow-, and field-sensitive static analysis is used to identify potential memory leaks. This includes an annotation system that allows specifying key properties of functions. Therefore, they do not need to be reanalyzed every time they are called. It also allows manual annotation of important library or system functions, thus enhancing analysis quality. The static analysis is conducted in reverse topological order on the call graph, enabling the parallel processing of functions within the same level of hierarchy. Subsequently, directed symbolic execution provides path-sensitivity and effectively filters out false positives. This process is performed concurrently for each bug detected by static analysis. This two-stage approach aims to enhance the efficiency and precision of memory leak detection in industrial software. The proposed method was implemented in the MLH (Memory Leak Hunter) tool, which identified numerous bugs in the open-source software, including OpenSSL, FFmpeg, and Radare2. These bugs were reported and confirmed by the community, thereby proving the effectiveness of the developed method.
暂无评论