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.
We present work on extending IEC 61499 with behavioral types-based specifications. Identifying components and establishing interface specifications is already a key concept of IEC 61499. Components and their interfaces are a well established concept facilitating the development, maintenance, and refactoring of software systems. Behavioral types further extend the expressiveness of interface specifications...
As a software project evolves, so does its build system. Significant effort is necessary to maintain the build system to cope with this evolution, in part because changes to source code often require parallel changes in the build system. Our tool, Formiga, is a build maintenance and dependency discovery tool for the Ant build system. Formiga's primary uses are to automate build changes as the source...
We present XPDL, a modular, extensible platform description language for heterogeneous multicore systems and clusters. XPDL specifications provide platform metadata about hardware and installed system software that are relevant for the adaptive static and dynamic optimization of application programs and system settings for improved performance and energy efficiency. XPDL is based on XML and uses hyperlinks...
The long-term goal of the work presented here is the automatic instrumentation of C programs with temporal property checkers to perform the runtime verification that these programs behave as expected, both for debugging purposes and for security or safety-oriented monitoring. This paper describes our first results towards this objective. To give requirements engineers or software developers the possibility...
In software evolution, many bugs occur and developers spend a long time to fix them. Program debugging is a costly and difficult task. Automated program repair is a promising way to reduce costs on program debugging dramatically. Several repair techniques reusing existing code lines have been proposed in the past. They reuse code lines already existing in the source code to generate variant source...
Software engineers organize source code into a dominant hierarchy of components and modules that may emphasize various characteristics over runtime behavior. In this way, runtime features may involve cross-cutting aspects of code from multiple components, and some of these features may be emergent in nature, rather than designed. Although source-code modularization assists software engineers to organize...
Pacemaker is one of medical devices implanted in patients' bodies helping their health. It is important to certify accuracy and efficiency of the implanted device in all situations. If the device's software acts improperly, the patient's life will be threatened. As there may be a bug in the medical device's software, software verification is critical. Runtime software verification implies considering...
Hardware and software stack complexity make programming GPGPUs difficult and limit application portability. This article first discusses challenges imposed by the current hardware and software model in GPGPU systems which relies heavily on the HOST device (CPU). We then identify system bottlenecks both in the hardware design and in the software stack and present two ideas to extend the HOST and DEVICE...
People and objects will soon share the same digital network for information exchange in a world named as the age of the cyber-physical systems. The general expectation is that people and systems will interact in real-time. This poses pressure onto systems design to support increasing demands on computational power, while keeping a low power envelop. Additionally, modular scaling and easy programmability...
Software libraries are currently a popular means to reuse functionality. While they allow for rapid development of large applications, they also bring new challenges. One of them is the selection and composition of the right set of libraries. If it is not done properly, libraries may be incompatible, duplicated or redundant. In this work, we cope with the problem of duplicate libraries and detect...
Self-adaptive software adapts its behavior to the operational context via automatic run-time reconfiguration of software components. Particular reconfigurations may negatively affect the system Quality of Service (QoS), and therefore their impact over the system performance needs to be thoroughly evaluated. In this paper, we present an approach, based on Combinatorial Interaction Testing (CIT), that...
Software evolution has been extensively studied in the past decade for various properties and interesting patterns. In this work, we study the effect of evolution on branch prediction techniques. Typically for any program, at the hardware level, all dynamic branch prediction strategies learn the branch behaviors at run time and later re-use them to predict the direction of future branches. The duration...
Dynamic Software Update (DSU) is a technique to upgrade running programs without shutting them down. DSU can improve system availability and maintenance flexibility. However, its adoption in practice is still limited due to the risk of system misbehavior that careless DSU may bring. To reduce this risk we propose a formal framework for the specification and verification of DSU. Different from previous...
We present a novel framework for formal verification of run-time behaviour of Java programs. We focus on the class of programs with a repetitive behaviour, such as servers and interactive programs, including programs exhibiting concurrency and non-determinism. The design-time specifications for such programs can be specified as UML-like finite-state diagrams, or Kripke structures, in the terminology...
The components and architectures of embeddedreal-time systems, both software and hardware, are getting moreand more complex. Because of this complexity, these systemstend to exhibit non deterministic behaviours. In this context, testing the reachability of a given system state is not alwaysachievable in a black box approach based on the sole control ofthe input sequence of the system. It is sometimes...
Mobile Crowd Sensing (MCS) refers to the sensing paradigm in which mobile users with sensing and computing devices are tasked to collect and contribute data in order to enable various applications. The initiators of mobile crowd sensing campaigns are suitable to be ones for creating MCS applications (MCSA). However, the relatively high requirements in software development skills become the barrier...
In the current era of big data, high volumes of valuable information are available in collections of documents, the web, social networks, and high varieties of linked data. To search and retrieve useful information from these linked data, users often enter queries into information retrieval (IR) systems. Among the information retrieved by these systems, some information is relevant to the user queries...
Self-adaptive systems, which are highly related to Autonomic Computing, are a response to the increasing complexity and size of information systems. They are able to adapt their behavior to changes in the environment or system resources. A self-adaptive system consists of managed resources that realize functionality and an adaptation logic that controls the adaptations. So far, many research has been...
Over Design (OD) and Under Design (UD) are two common forms of negative variability construction which should be considered together to avoid both functional incompleteness and unexpected software quality degradation during design time and run time. Elimination of OD and UD demands the correct identification of OD and UD, and remedy actions rely on the precision of identification of them. A challenge...
In this work, we introduce an application autotuning framework to dynamically adapt applications in multicore architectures. In particular, the framework exploits design-time knowledge and multi-objective requirements expressed by the user, to drive the autotuning process at the runtime. It also exploits a monitoring infrastructure to get runtime feed-back and to adapt to external changing conditions...
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.