The management of today's service level agreements on the cloud market is often nontransparent and ineffective for the customer and the provider. However, service level agreements are crucial for establishing trus...
详细信息
ISBN:
(纸本)9781479940936
The management of today's service level agreements on the cloud market is often nontransparent and ineffective for the customer and the provider. However, service level agreements are crucial for establishing trust between all participants, especially for companies whose success depends on the purchased cloud service with its appropriated service quality. This paper introduces a concept for an Agreement-Mediator that acts as a neutral and autonomous entity in the cloud market. The language and protocol for searching, negotiating, and establishing service level agreements is the WS-Agreement standard and its extension WS-Agreement-Negotiation. This mediator aims to increase efficiency and effectiveness of service level agreements as well as transparency for customers. This paper describes the Agreement-Mediator's architecture and illustrates its functionalities and workflows. Furthermore, we show how the WS-Agreement and the WS-Agreement-Negotiation standards are used and which improvements are required for managing service level agreements in an autonomous entity.
Code cloning via copy-and-paste is a common practice in software engineering. Traditionally, this practice has been considered harmful, and a symptom that some important design abstraction is being ignored. As such, m...
详细信息
ISBN:
(纸本)9780769553047
Code cloning via copy-and-paste is a common practice in software engineering. Traditionally, this practice has been considered harmful, and a symptom that some important design abstraction is being ignored. As such, many previous studies suggest approaches to facilitate the discovery, removal, and refactoring of clones. However, not many studies exist that empirically investigate the relationship of code clones with code quality. In this paper, we conduct an empirical study of 31 open source java projects (1.7 MSLOC) to explore the relationship between code clones and a set of bug patterns reported by FindBugs. We found that: (i) the defect density in cloned code is 3.7 times less than that of the rest of the code;(ii) 66% of the bug patterns associated with code clones are related to issues in coding style and practice, the two least problematic of the FindBugs categories, while that number is 49% for non-cloned code;and (iii) 75% of the bug patterns in cloned code are duplicated without any changes, while 25% are only present in one of the clones. These results show that, when using FindBugs to detect bug patterns, there is a positive differentiation of cloned code with respect to the rest of the code: the cloned code has considerably less, and less problematic, bug patterns. While our study does not unveil any explanation for this, results from other, more qualitative studies indicate that developers use copy-and-paste intentionally and wisely, which may explain the quantitative observations of our study. Overall, these research results suggest that the practice of code cloning in java, and possibly in all other object-oriented languages, needs to be given serious consideration on the part of tool designers.
This paper summarizes the current state of development of JADEL, a novel programminglanguage that eases the implementation of agents and multi-agent systems. First, the introduction of a novel agent programming langu...
详细信息
ISBN:
(纸本)9781479965731
This paper summarizes the current state of development of JADEL, a novel programminglanguage that eases the implementation of agents and multi-agent systems. First, the introduction of a novel agent programminglanguage is motivated and the approach that was used to design JADEL is presented. Then, the characteristic features of JADEL are described by means of a didactic example. The paper is concluded with a short discussion about current and planned developments of JADEL.
This paper presents a solution of integrator application programming interface (API) generator. The goal of the solution is to decrease the integration time required for the TR-069 support in an arbitrary device, by p...
详细信息
ISBN:
(纸本)9781479961917
This paper presents a solution of integrator application programming interface (API) generator. The goal of the solution is to decrease the integration time required for the TR-069 support in an arbitrary device, by providing an adaptive build system which generates API specific for the target device which is defined by a TR-106 data model specification. Evaluation results indicate that the implemented solution contributes to the decrease of integration time, based on the case of an example practical project in which TR-069 service is provided for an Android-based set-top box device.
Nowadays cyber-physical systems are spreading wide all over the world. One of the examples of cyber-physical system is a "smart home" devices interaction for home cleaning. The paper presents the interaction...
详细信息
ISBN:
(纸本)9785757704890
Nowadays cyber-physical systems are spreading wide all over the world. One of the examples of cyber-physical system is a "smart home" devices interaction for home cleaning. The paper presents the interaction process between several physical devices through the Smart-M3-based smart space. These devices are robots that are modelling the vacuum cleaner behavior. For this purpose, the scenario of robots interaction in smart space is described in the paper. For the scenario implementation, robots should be constructed and programmed. The paper provides short survey of the most powerful robotic kits and description of its programming possibilities. The Lego Mindstorms EV3 Education kit is chosen for scenario implementation. The LeJOS is installed on the control block to extend its functionality. This functionality includes connection to the Smart-M3-based smart space and java support for programming robot actions.
Duplicated source code-clones-is known to occur frequently in software systems and bears the risk of inconsistent updates of the code. The impact of clones has been investigated mostly by retrospective analysis of sof...
详细信息
ISBN:
(纸本)9780769553047
Duplicated source code-clones-is known to occur frequently in software systems and bears the risk of inconsistent updates of the code. The impact of clones has been investigated mostly by retrospective analysis of software systems. Only little effort has been spent to investigate human interaction when dealing with clones. A previous study by Chatterji and colleagues found that cloned defects are removed significantly more accurately when clone information is provided to the programmers. We conducted a controlled experiment to extend the previous study on the use of clone information by investigating the effect of clone information on the performance of developers in common bug-fixing tasks. The experiment shows that developers are quite capable to compensate missing clone information through testing to provide correct solutions. Clone information does help to detect cloned defects faster, although developers may exploit semantic code relations such as inheritance to uncover cloned defects only slightly slower if they do not have clone information. If cloned defects lurk in semantically unrelated places however, clone information helps to find them faster at statistical significance. Developers without clone information needed 17 minutes longer on average or 140% more time in relative terms to complete the task successfully.
When disproving termination using known techniques (e.g. recurrence sets), abstractions that overapproximate the program's transition relation are unsound. In this paper we introduce live abstractions, a natural c...
详细信息
ISBN:
(纸本)9780983567844
When disproving termination using known techniques (e.g. recurrence sets), abstractions that overapproximate the program's transition relation are unsound. In this paper we introduce live abstractions, a natural class of abstractions that can be combined with the recent concept of closed recurrence sets to soundly disprove termination. To demonstrate the practical usefulness of this new approach we show how programs with nonlinear, nondeterministic, and heap-based commands can be shown nonterminating using linear overapproximations.
The creation, execution, and maintenance of tests are some of the most expensive tasks in software development. To help reduce the cost, automated test generation tools can be used to assist and guide developers in cr...
详细信息
ISBN:
(纸本)9781479971978
The creation, execution, and maintenance of tests are some of the most expensive tasks in software development. To help reduce the cost, automated test generation tools can be used to assist and guide developers in creating test cases. Yet, the tests that automated tools produce range from simple skeletons to fully executable test suites, hence their complexity and quality vary. This paper compares the complexity and quality of test suites created by sophisticated automated test generation tools to that of developer-written test suites. The empirical study in this paper examines ten real-world programs with existing test suites and applies two state-of-the-art automated test generation tools. The study measures the resulting test suite quality in terms of code coverage and fault-finding capability. On average, manual tests covered 31.5% of the branches while the automated tools covered 31.8% of the branches. In terms of mutation score, the tests generated by automated tools had an average mutation score of 39.8% compared to the average mutation score of 42.1% for manually written tests. Even though automatically created tests often contain more lines of source code than those written by developers, this paper's empirical results reveal that test generation tools can provide value by creating high quality test suites while reducing the cost and effort needed for testing.
Pivot is a new javaScript isolation framework for web applications. Pivot uses iframes as its low-level isolation containers, but it uses code rewriting to implement synchronous cross-domain interfaces atop the asynch...
详细信息
ISBN:
(纸本)9781479946860
Pivot is a new javaScript isolation framework for web applications. Pivot uses iframes as its low-level isolation containers, but it uses code rewriting to implement synchronous cross-domain interfaces atop the asynchronous cross frame postMessage() primitive. Pivot layers a distributed scheduling abstraction across the frames, essentially treating each frame as a thread which can invoke RPCs that are serviced by external threads. By rewriting javaScript call sites, Pivot can detect RPC invocations;Pivot exchanges RPC requests and responses via postMessage(), and it pauses and restarts frames using a novel rewriting technique that translates each frame's javaScript code into a restartable generator function. By leveraging both iframes and rewriting, Pivot does not need to rewrite all code, providing an order of-magnitude performance improvement over rewriting-only solutions. Compared to iframe-only approaches, Pivot provides synchronous RPC semantics, which developers typically prefer over asynchronous RPCs. Pivot also allows developers to use the full, unrestricted javaScript language, including powerful statements like eval().
Code cloning is a controversial software engineering practice due to contradictory claims regarding its impacts on software evolution and maintenance. While a number of studies identify some positive aspects of code c...
详细信息
ISBN:
(纸本)9780769553047
Code cloning is a controversial software engineering practice due to contradictory claims regarding its impacts on software evolution and maintenance. While a number of studies identify some positive aspects of code clones, there is strong empirical evidence of some negative impacts of clones too. Focusing on the issues related to clones researchers suggest to manage code clones through detection, refactoring, and tracking. However, all clones in a software system are not suitable for refactoring or tracking. Thus, it is important to identify which clones we should consider for refactoring and which clones should be considered for tracking. In this research work we apply the concept of evolutionary coupling to identify clones that are important for refactoring or tracking. By mining software evolution history, we determine and analyze constrained association rules of clone fragments that evolved following a particular change pattern called Similarity Preserving Change Pattern and are important from the perspective of refactoring and tracking. According to our investigation with rigorous manual analysis on thousands of revisions of six diverse subject systems covering two programminglanguages, overall 13.20% of all clones in a software system are important candidates for refactoring, and overall 10.27% of all clones are important candidates for tracking. Our implemented system can automatically identify these important candidates and thus, can help us in better maintenance of code clones in terms of refactoring and tracking.
暂无评论