The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
The emerging trend of network devices with configurable data planes is pushing software switches as convenient playgrounds for experimenting novel programming paradigms and abstractions. OfSoftSwitch is a popular tool for carrying on such experimentation, as it provides a straightforward implementation of a pipeline of match-action tables. Unfortunately, OfSoftSwitch is not performance oriented and...
Complex safety-critical devices require dependable communication. Dependability includes confidentiality and integrity as much as safety. Encrypting gateways with demilitarized zones, Multiple Independent Levels of Security architectures and the infamous Air Gap are diverse integration patterns for safety-critical infrastructure. Though resource restricted embedded safety devices still lack simple,...
Software product line evolution is a decision-making problem where it is determined that which features are the best candidates for the different product. In this paper, we analysis two popular optimization technique for finding qualified features for next release. In this case, the qualification of features is determined by the product value, product integrity, and AND dependencies between features...
Energy efficiency can have a significant influence on user experience of mobile devices such as smartphones and tablets. Although energy is consumed by hardware, software optimization plays an important role in saving energy, and thus software developers have to participate in the optimization process. The source code is the interface between the developer and hardware resources. In this paper, we...
C-based HLS tools continue to improve in analysis and optimisation, but are still restricted to a subset of C functionality. A C language feature missing from all common HLS tools is recursion, which makes it difficult and time consuming to write many types of programs in HLS. This paper presents a technique for implementing recursion as an Embedded Domain Specific Language (EDSL) in C++, utilising...
Network Function Virtualization promises to enable dynamic management of software-based network functions. We envision a dynamic and flexible network that can support a smarter data plane than just simple switches that forward packets. This network architecture supports complex stateful rourtng of flows where processing by network functions (NFs) can transform packet data, customized on a per-flow...
Autotuning is an empirical optimization approach in which the configuration space of an algorithmic code is explored in a systematic manner for a variety of software and hardware parameters. The objective of such autotuning is to reduce the computational time and/or energy requirements of the generated code. We develop a genetic algorithm based autotuning strategy that can be used for optimizing performance...
Refactoring source code requires preserving a certain level of semantic behaviors, which are difficult to be checked by IDEs. Therefore, IDEs generally check syntactic pre-conditions instead before applying refactoring, which are often too restrictive than checking semantic behaviors. On the other hand, there are pure functions in the source code that do not have observable side-effects, of which...
This paper introduces an optimization template library (OTL), a cross-platform C++ template library for multiobjective optimization. OTL has an object-oriented architecture, which allows that different modules can be arbitrarily combined with each other. Moreover, the C++ template technique is used to increase the flexibility of OTL. Meanwhile, generic programming is widely used in OTL, and the generic...
Graph analytics are arguably one of the most demanding workloads for high-performance systems and interconnection networks. Graph applications often display all-to-all, fine-grained, high-rate communication patterns that expose the limits of the network protocol stacks. Load and communication imbalance generate hard-to-predict network hot-spots, and may require computational steering due to unpredictable...
Team ViGIR entered the 2013 DARPA Robotics Challenge (DRC) with a focus on developing software to enable an operator to guide a humanoid robot through the series of challenge tasks emulating disaster scenarios. We designed our operator control station (OCS) to allow multiple operators to request and share information as needed to maintain situational awareness under bandwidth constraints, while directing...
Today reducing the energy usage of computing systems becomes a paramount task, no matter they are lightweight mobile devices, complex cloud computing platforms or large-scale supercomputers. Many existing studies in green computing focus on making the hardware more energy efficient. This is understandable because software running on low-power hardware will automatically consume less energy. Little...
Software testing is one of the essential parts of the software development life cycle. In software industry, the testing cost can be approximately 50% of the total cost of a software project so efficient ways of testing software are crucially important in reducing costs, time and effort. There are two major methods of software testing; black-box testing (focuses only what the software can do) and...
In order to get the optimum selection of the test cases, an approach based on an improved genetic algorithm is proposed. Genetic operators of selection, crossover and mutation are improved, which effectively improve the algorithm's global search ability. Experiments are carried out to verify the feasibility of the improved algorithm. The result shows, compared with classical algorithm, the improved...
To efficiently solve the problem low degree of SIMD (Single Instruction Multiple Data) vectorization caused by the lower speed of memory access and the lack of vector registers in the SIMD mathematical function library, an optimizing method based on vector register data reuse is introduced aiming at relative address access mode. Furthermore, to improve the access frequency of vector registers, a novel...
Semantic Mutation Testing (SMT) is a technique that aims to capture errors caused by possible misunderstandings of the semantics of a description language. This paper focuses on the use of SMT to represent possible problems caused by the use of Floating Point Comparison (FPC) since this feature of programming languages can lead to subtle errors. We describe six FPC semantic mutation operators that...
Our ability to create systems with large amount of hardware parallelism is exceeding the average software developer's ability to effectively program them. This is a problem that plagues our industry. Since the vast majority of the world's software developers are not parallel programming experts, making it easy to write, port, and debug applications with sufficient core and vector parallelism is essential...
COTS component evaluation is one of the most important steps in component-based development. Enforcing the coding standard within the coding phase is one important aspect for the quality of safety-critical software. This paper addresses the problem of carrying out COTS component evaluation of its compliance to the coding standard in case when only the executables with neither source code nor debugging...
I/O is the critical bottleneck for data-intensive scientific applications on HPC systems and leadership-class machines. Applications running on these systems may encounter bottlenecks because the I/O systems cannot handle the overwhelming intensity and volume of I/O requests. Applications and systems use I/O forwarding to aggregate and delegate I/O requests to storage systems. In this paper, we present...
A random testing strategy can be effective at finding faults, but may leave some routines entirely untested if it never gets to call them on objects satisfying their preconditions. This limitation is particularly frustrating if the object pool does contain some precondition-satisfying objects but the strategy, which selects objects at random, does not use them. The extension of random testing described...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.