<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><channel rdf:about="http://onlinelibrary.wiley.com/rss/journal/10.1002/(ISSN)1097-024X" xmlns="http://purl.org/rss/1.0/"><title>Software: Practice and Experience</title><description> Wiley Online Library : Software: Practice and Experience</description><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2F%28ISSN%291097-024X</link><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc</dc:publisher><dc:language xmlns:dc="http://purl.org/dc/elements/1.1/">en</dc:language><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/">© John Wiley &amp; Sons, Ltd.</dc:rights><prism:issn xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">0038-0644</prism:issn><prism:eIssn xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">1097-024X</prism:eIssn><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-06-01T00:00:00-05:00</dc:date><prism:coverDisplayDate xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">June 2013</prism:coverDisplayDate><prism:volume xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">43</prism:volume><prism:number xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">6</prism:number><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">613</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">741</prism:endingPage><image rdf:resource="http://onlinelibrary.wiley.com/store/10.1002/spe.v43.6/asset/cover.gif?v=1&amp;s=2526fa541fbbcd875fccbab2292a11860763e30d"/><items><rdf:Seq><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2198"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2196"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2201"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2200"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2202"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2199"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2197"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2189"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2193"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2195"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2194"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2192"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2190"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2187"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2188"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2185"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2183"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2186"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2179"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2184"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2181"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2176"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2182"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2169"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2180"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2171"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2172"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2175"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2168"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2170"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2173"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2167"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2174"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2163"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2166"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2164"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2165"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2158"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2161"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2162"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2160"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2159"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2156"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2154"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2155"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2146"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2153"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2151"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2152"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2150"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2148"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2147"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2137"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2141"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2138"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2140"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2139"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2134"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2136"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2135"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2132"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2133"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2130"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2117"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2115"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1142"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2108"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2104"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1132"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1146"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1131"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1117"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1147"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1121"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1126"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1128"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1127"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1125"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1116"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1119"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1122"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1114"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1110"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1094"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1082"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2123"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2125"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2126"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2127"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2128"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2178"/><rdf:li rdf:resource="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2177"/></rdf:Seq></items></channel><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2198" xmlns="http://purl.org/rss/1.0/"><title>Optimized succinct data structures for massive data</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2198</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Optimized succinct data structures for massive data</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Simon Gog, Matthias Petri</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-05-23T03:04:17.180977-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2198</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2198</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2198</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2198-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Succinct data structures provide the same functionality as their corresponding traditional data structure in compact space. We improve on functions <em>rank</em> and <em>select</em>, which are the basic building blocks of FM-indexes and other succinct data structures. First, we present a cache-optimal, uncompressed bitvector representation that outperforms all existing approaches. Next, we improve, in both space and time, on a recent result by Navarro and Providel on compressed bitvectors. Last, we show techniques to perform <em>rank</em> and <em>select</em> on 64-bit words that are up to three times faster than existing methods. In our experimental evaluation, we first show how our improvements affect cache and runtime performance of both operations on data sets larger than commonly used in the evaluation of succinct data structures. Our experiments show that our improvements to these basic operations significantly improve the runtime performance and compression effectiveness of FM-indexes on small and large data sets. To our knowledge, our improvements result in FM-indexes that are either smaller or faster than all current state of the art implementations. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Succinct data structures provide the same functionality as their corresponding traditional data structure in compact space. We improve on functions rank and select, which are the basic building blocks of FM-indexes and other succinct data structures. First, we present a cache-optimal, uncompressed bitvector representation that outperforms all existing approaches. Next, we improve, in both space and time, on a recent result by Navarro and Providel on compressed bitvectors. Last, we show techniques to perform rank and select on 64-bit words that are up to three times faster than existing methods. In our experimental evaluation, we first show how our improvements affect cache and runtime performance of both operations on data sets larger than commonly used in the evaluation of succinct data structures. Our experiments show that our improvements to these basic operations significantly improve the runtime performance and compression effectiveness of FM-indexes on small and large data sets. To our knowledge, our improvements result in FM-indexes that are either smaller or faster than all current state of the art implementations. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2196" xmlns="http://purl.org/rss/1.0/"><title>Plugging in and into code bubbles: the code bubbles architecture</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2196</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Plugging in and into code bubbles: the code bubbles architecture</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven P. Reiss, Jared N. Bott, Joseph J. La Viola</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-05-21T01:00:31.86254-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2196</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2196</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2196</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">ABSTRACT</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Code Bubbles is an attempt to redefine the user interface for an integrated programming environment. As it represents a whole new user interface, implementing it as a plug-in is inherently difficult. We get around this difficulty by combining two different plug-in architectures, a standard one based on registrations and callbacks and a message-based one that puts the plug-in at arm's length and defines a narrower two-way interface. This paper describes both how we have implemented Code Bubbles as a plug-in to Eclipse and how Code Bubbles itself is implemented as a set of plug-ins representing the different aspects of the environment, using both traditional and message-based plug-in architectures as appropriate. It also shows how the resultant architecture is flexible enough to support collaboration, different back ends, and a cloud-based environment. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Code Bubbles is an attempt to redefine the user interface for an integrated programming environment. As it represents a whole new user interface, implementing it as a plug-in is inherently difficult. We get around this difficulty by combining two different plug-in architectures, a standard one based on registrations and callbacks and a message-based one that puts the plug-in at arm's length and defines a narrower two-way interface. This paper describes both how we have implemented Code Bubbles as a plug-in to Eclipse and how Code Bubbles itself is implemented as a set of plug-ins representing the different aspects of the environment, using both traditional and message-based plug-in architectures as appropriate. It also shows how the resultant architecture is flexible enough to support collaboration, different back ends, and a cloud-based environment. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2201" xmlns="http://purl.org/rss/1.0/"><title>A visual language-based system for extraction–transformation–loading development</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2201</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A visual language-based system for extraction–transformation–loading development</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vincenzo Deufemia, Massimiliano Giordano, Giuseppe Polese, Genoveffa Tortora</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-05-20T03:55:58.864142-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2201</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2201</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2201</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2201-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Data warehouse loading and refreshment is typically performed by means of complex software processes called extraction–transformation–loading (ETL). In this paper, we propose a system based on a suite of visual languages for mastering several aspects of the ETL development process, turning it into a visual programming task. The approach can be easily generalized and applied to other data integration contexts beyond data warehouses. It introduces two new visual languages that are used to specify the ETL process, which can also be represented by means of UML activity diagrams. In particular, the first visual language supports data manipulation activities, whereas the second one provides traceability information of attributes to highlight the impact of potential transformations on integrated schemas depending on them. Once the whole ETL process has been visually specified, the designer might invoke the automatic generation of an activity diagram representing a possible orchestration of it based on its dependencies. The designer can edit such a diagram to modify the proposed orchestration provided that changes do not alter data dependencies. The final specification can be translated into code that is executable on the data sources. Finally, the effectiveness of the proposed approach has been validated through a user study in which we have compared the effort needed to design an ETL process in our approach with respect to the one required with main visual approaches described in the literature.Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Data warehouse loading and refreshment is typically performed by means of complex software processes called extraction–transformation–loading (ETL). In this paper, we propose a system based on a suite of visual languages for mastering several aspects of the ETL development process, turning it into a visual programming task. The approach can be easily generalized and applied to other data integration contexts beyond data warehouses. It introduces two new visual languages that are used to specify the ETL process, which can also be represented by means of UML activity diagrams. In particular, the first visual language supports data manipulation activities, whereas the second one provides traceability information of attributes to highlight the impact of potential transformations on integrated schemas depending on them. Once the whole ETL process has been visually specified, the designer might invoke the automatic generation of an activity diagram representing a possible orchestration of it based on its dependencies. The designer can edit such a diagram to modify the proposed orchestration provided that changes do not alter data dependencies. The final specification can be translated into code that is executable on the data sources. Finally, the effectiveness of the proposed approach has been validated through a user study in which we have compared the effort needed to design an ETL process in our approach with respect to the one required with main visual approaches described in the literature.Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2200" xmlns="http://purl.org/rss/1.0/"><title>Heuristic expansion of feature mappings in evolving program families</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2200</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Heuristic expansion of feature mappings in evolving program families</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Camila Nunes, Alessandro Garcia, Carlos Lucena, Jaejoon Lee</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-05-20T03:25:48.922776-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2200</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2200</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2200</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2200-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Establishing explicit mappings between features and their implementation elements in code is one of the critical factors to maintain and evolve software systems successfully. This is especially important when developers have to evolve program families, which have evolved from one single core system to similar but different systems to accommodate various requirements from customers. Many techniques and tools have emerged to assist developers in the feature mapping activity. However, existing techniques and tools for feature mapping are limited as they operate on a single program version individually. Additionally, existing approaches are limited to recover features on demand, that is, developers have to run the tools for each family member version individually. In this paper, we propose a cohesive suite of five mapping heuristics addressing those two limitations. These heuristics explore the evolution history of the family members in order to expand feature mappings in evolving program families. The expansion refers to the action of automatically generating the feature mappings for each family member version by systematically considering its previous change history. The mapping expansion starts from seed mappings and continually tracks the features of the program family, thus eliminating the need of on demand algorithms. Additionally, we present the MapHist tool that provides support to the application of the proposed heuristics. We evaluate the accuracy of our heuristics through two evolving program families from our industrial partners. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2202" xmlns="http://purl.org/rss/1.0/"><title>Scheduling model-to-model transformations with continuations</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2202</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Scheduling model-to-model transformations with continuations</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jesús Sánchez Cuadrado, Jesús Perera Aracil</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-05-20T02:54:04.534361-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2202</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2202</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2202</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Model transformations are at the heart of model-driven engineering because they allow the automation of diverse kinds of model manipulations. Transformation scheduling is a key issue in the design and implementation of many transformation languages. This paper reports our results using continuations as the underlying technique for building a scheduling mechanism implicitly driven by data dependence among transformation rules. To support our experiments, we have built a proof-of-concept model transformation language, which is also reported here. First, we motivate the problem by analyzing the scheduling mechanism of current model transformation languages. Then, we introduce the notion of continuation, showing its applicability to model transformations. Afterwards, we present our approach, notably explaining how dependence is specified and giving the scheduling algorithm. We also analyze the lazy resolution of rules and how to deal with collection operations. The approach is validated by an implementation that targets the Java Virtual Machine and by running of the performance benchmarks that show its efficiency and scalability. Besides, we discuss how it can be applied to other existing transformation languages and present several applicability scenarios. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Model transformations are at the heart of model-driven engineering because they allow the automation of diverse kinds of model manipulations. Transformation scheduling is a key issue in the design and implementation of many transformation languages. This paper reports our results using continuations as the underlying technique for building a scheduling mechanism implicitly driven by data dependence among transformation rules. To support our experiments, we have built a proof-of-concept model transformation language, which is also reported here. First, we motivate the problem by analyzing the scheduling mechanism of current model transformation languages. Then, we introduce the notion of continuation, showing its applicability to model transformations. Afterwards, we present our approach, notably explaining how dependence is specified and giving the scheduling algorithm. We also analyze the lazy resolution of rules and how to deal with collection operations. The approach is validated by an implementation that targets the Java Virtual Machine and by running of the performance benchmarks that show its efficiency and scalability. Besides, we discuss how it can be applied to other existing transformation languages and present several applicability scenarios. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2199" xmlns="http://purl.org/rss/1.0/"><title>Speculative optimizations for interpreting environments</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2199</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Speculative optimizations for interpreting environments</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Adler, Wolfram Amme</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-04-29T04:55:42.645317-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2199</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2199</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2199</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2199-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Most constrained systems use interpreters to run mobile programs written in Java. Such interpreters are designed to minimize resource usage and often do not allow mobile code in the devices to be changed. For this reason, runtime optimization is typically not supported, even though it is completely feasible. In this paper, we propose optimistic optimization as a concept for improving application performance in restricted interpreter environments. In an optimistic optimization, a mobile program is restructured speculatively during code generation. This requires that it is possible to undo such optimizations, at runtime, if an incorrect use is detected or the set of available classes has changed when compared with compile time. Experimental results show that interpreted applications using optimistic optimizations tend to run faster when compared with their conventionally optimized counterparts. Compared with standard load elimination, reductions in runtimes of up to 9% for optimistic load elimination and up to 23% for the combined optimization were achieved. Whereas an average performance improvement of 1.87% for optimistic load elimination and 3.7% for the combined optimization could be realized. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Most constrained systems use interpreters to run mobile programs written in Java. Such interpreters are designed to minimize resource usage and often do not allow mobile code in the devices to be changed. For this reason, runtime optimization is typically not supported, even though it is completely feasible. In this paper, we propose optimistic optimization as a concept for improving application performance in restricted interpreter environments. In an optimistic optimization, a mobile program is restructured speculatively during code generation. This requires that it is possible to undo such optimizations, at runtime, if an incorrect use is detected or the set of available classes has changed when compared with compile time. Experimental results show that interpreted applications using optimistic optimizations tend to run faster when compared with their conventionally optimized counterparts. Compared with standard load elimination, reductions in runtimes of up to 9% for optimistic load elimination and up to 23% for the combined optimization were achieved. Whereas an average performance improvement of 1.87% for optimistic load elimination and 3.7% for the combined optimization could be realized. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2197" xmlns="http://purl.org/rss/1.0/"><title>Antivirus security: naked during updates</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2197</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Antivirus security: naked during updates</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Byungho Min, Vijay Varadharajan, Udaya Tupakula, Michael Hitchens</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-04-22T21:37:56.559278-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2197</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2197</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2197</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2197-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>The security of modern computer systems heavily depends on security tools, especially on antivirus software solutions. In the anti-malware research community, development of techniques for evading detection by antivirus software is an active research area. This has led to malware that can bypass or subvert antivirus software. The common strategies deployed include the use of obfuscated code and staged malware whose first instance (usually installer such as dropper and downloader) is not detected by the antivirus software. Increasingly, most of the modern malware are staged ones in order for them to be not detected by antivirus solutions at the early stage of intrusion. The installers then determine the method for further intrusion including antivirus bypassing techniques. Some malware target boot and/or shutdown time when antivirus software may be inactive so that they can perform their malicious activities. However, there can be another time frame where antivirus solutions may be inactive, namely, <em>during the time of update</em>. All antivirus software share a unique characteristic that they must be updated at a very high frequency to provide up-to-date protection of their system. In this paper, we suggest a novel attack vector that targets antivirus updates and show practical examples of how a system and antivirus software itself can be compromised during the update of antivirus software. Local privilege escalation using this vulnerability is also described. We have investigated this design vulnerability with several of the major antivirus software products such as Avira, AVG, McAfee, Microsoft, and Symantec and found that they are vulnerable to this new attack vector. The paper also discusses possible solutions that can be used to mitigate the attack in the existing versions of the antivirus software as well as in the future ones. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
The security of modern computer systems heavily depends on security tools, especially on antivirus software solutions. In the anti-malware research community, development of techniques for evading detection by antivirus software is an active research area. This has led to malware that can bypass or subvert antivirus software. The common strategies deployed include the use of obfuscated code and staged malware whose first instance (usually installer such as dropper and downloader) is not detected by the antivirus software. Increasingly, most of the modern malware are staged ones in order for them to be not detected by antivirus solutions at the early stage of intrusion. The installers then determine the method for further intrusion including antivirus bypassing techniques. Some malware target boot and/or shutdown time when antivirus software may be inactive so that they can perform their malicious activities. However, there can be another time frame where antivirus solutions may be inactive, namely, during the time of update. All antivirus software share a unique characteristic that they must be updated at a very high frequency to provide up-to-date protection of their system. In this paper, we suggest a novel attack vector that targets antivirus updates and show practical examples of how a system and antivirus software itself can be compromised during the update of antivirus software. Local privilege escalation using this vulnerability is also described. We have investigated this design vulnerability with several of the major antivirus software products such as Avira, AVG, McAfee, Microsoft, and Symantec and found that they are vulnerable to this new attack vector. The paper also discusses possible solutions that can be used to mitigate the attack in the existing versions of the antivirus software as well as in the future ones. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2189" xmlns="http://purl.org/rss/1.0/"><title>Benchmark frameworks and τBench</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2189</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Benchmark frameworks and τBench</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stephen W. Thomas, Richard T. Snodgrass, Rui Zhang</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-04-07T22:36:23.058822-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2189</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2189</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2189</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Software engineering <em>frameworks</em> tame the complexity of large collections of classes by identifying structural invariants, regularizing interfaces, and increasing sharing across the collection. We wish to appropriate these benefits for families of closely related benchmarks, say for evaluating query engine implementation strategies. We introduce the notion of a <em>benchmark framework</em>, an ecosystem of benchmarks that are related in semantically rich ways and enabled by organizing principles. A benchmark framework is realized by iteratively changing one individual benchmark into another, say by modifying the data format, adding schema constraints, or instantiating a different workload. Paramount to our notion of benchmark frameworks are the ease of describing the differences between individual benchmarks and the utility of methods to validate the correctness of each benchmark component by exploiting the overarching ecosystem. As a detailed case study, we introduce <em>τ</em>Bench, a benchmark framework consisting of ten individual benchmarks, spanning XML, XQuery, XML Schema, and PSM, along with temporal extensions to each. The second case study examines the <em>Mining Unstructured Data</em> benchmark framework, and the third examines the potential benefits of rendering the TPC family as a benchmark framework. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Software engineering frameworks tame the complexity of large collections of classes by identifying structural invariants, regularizing interfaces, and increasing sharing across the collection. We wish to appropriate these benefits for families of closely related benchmarks, say for evaluating query engine implementation strategies. We introduce the notion of a benchmark framework, an ecosystem of benchmarks that are related in semantically rich ways and enabled by organizing principles. A benchmark framework is realized by iteratively changing one individual benchmark into another, say by modifying the data format, adding schema constraints, or instantiating a different workload. Paramount to our notion of benchmark frameworks are the ease of describing the differences between individual benchmarks and the utility of methods to validate the correctness of each benchmark component by exploiting the overarching ecosystem. As a detailed case study, we introduce τBench, a benchmark framework consisting of ten individual benchmarks, spanning XML, XQuery, XML Schema, and PSM, along with temporal extensions to each. The second case study examines the Mining Unstructured Data benchmark framework, and the third examines the potential benefits of rendering the TPC family as a benchmark framework. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2193" xmlns="http://purl.org/rss/1.0/"><title>Obfuscation for object-oriented programs: dismantling instance methods</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2193</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Obfuscation for object-oriented programs: dismantling instance methods</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Heh-Tyan Liaw, Shih-Chieh Wei</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-04-04T22:43:34.812817-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2193</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2193</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2193</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Code obfuscation can help software developers protect technological secrets. Code readability is greatly enhanced with object-oriented technology that represents dynamic binding using instance method invocation. Therefore, dismantling instance methods is proposed in this paper as a critical obfuscating technique for object-oriented programs. The interception classes are interpolated first into the project. The static images and the up forwarders are then created. For each virtual function system and each interface function system, a respective dispatching function is set up. By properly arranging the class identifiers and binding identifiers, the switch statement in the dispatching function can be compiled into constant-time low-level code. After using dispatching functions to simulate virtual function system or interface function system invocations, all original instance methods in the project will be removed. Interception functions and export functions are indispensable in supporting the operation of callback methods. A prototype of our obfuscation system was implemented and successfully tested on some practical scale applications. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Code obfuscation can help software developers protect technological secrets. Code readability is greatly enhanced with object-oriented technology that represents dynamic binding using instance method invocation. Therefore, dismantling instance methods is proposed in this paper as a critical obfuscating technique for object-oriented programs. The interception classes are interpolated first into the project. The static images and the up forwarders are then created. For each virtual function system and each interface function system, a respective dispatching function is set up. By properly arranging the class identifiers and binding identifiers, the switch statement in the dispatching function can be compiled into constant-time low-level code. After using dispatching functions to simulate virtual function system or interface function system invocations, all original instance methods in the project will be removed. Interception functions and export functions are indispensable in supporting the operation of callback methods. A prototype of our obfuscation system was implemented and successfully tested on some practical scale applications. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2195" xmlns="http://purl.org/rss/1.0/"><title>An effective and efficient Web content extractor for optimizing the crawling process</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2195</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">An effective and efficient Web content extractor for optimizing the crawling process</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Erdinç Uzun, Edip Serdar Güner, Yılmaz Kılıçaslan, Tarık Yerlikaya, Hayri Volkan Agun</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-03-27T01:29:41.924495-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2195</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2195</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2195</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Classical Web crawlers make use of only hyperlink information in the crawling process. However, focused crawlers are intended to download only Web pages that are relevant to a given topic by utilizing word information before downloading the Web page. But, Web pages contain additional information that can be useful for the crawling process. We have developed a crawler, iCrawler (intelligent crawler), the backbone of which is a Web content extractor that automatically pulls content out of seven different blocks: menus, links, main texts, headlines, summaries, additional necessaries, and unnecessary texts from Web pages. The extraction process consists of two steps, which invoke each other to obtain information from the blocks. The first step learns which HTML tags refer to which blocks using the decision tree learning algorithm. Being guided by numerous sources of information, the crawler becomes considerably effective. It achieved a relatively high accuracy of 96.37% in our experiments of block extraction. In the second step, the crawler extracts content from the blocks using string matching functions. These functions along with the mapping between tags and blocks learned in the first step provide iCrawler with considerable time and storage efficiency. More specifically, iCrawler performs 14 times faster in the second step than in the first step. Furthermore, iCrawler significantly decreases storage costs by 57.10% when compared with the texts obtained through classical HTML stripping. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Classical Web crawlers make use of only hyperlink information in the crawling process. However, focused crawlers are intended to download only Web pages that are relevant to a given topic by utilizing word information before downloading the Web page. But, Web pages contain additional information that can be useful for the crawling process. We have developed a crawler, iCrawler (intelligent crawler), the backbone of which is a Web content extractor that automatically pulls content out of seven different blocks: menus, links, main texts, headlines, summaries, additional necessaries, and unnecessary texts from Web pages. The extraction process consists of two steps, which invoke each other to obtain information from the blocks. The first step learns which HTML tags refer to which blocks using the decision tree learning algorithm. Being guided by numerous sources of information, the crawler becomes considerably effective. It achieved a relatively high accuracy of 96.37% in our experiments of block extraction. In the second step, the crawler extracts content from the blocks using string matching functions. These functions along with the mapping between tags and blocks learned in the first step provide iCrawler with considerable time and storage efficiency. More specifically, iCrawler performs 14 times faster in the second step than in the first step. Furthermore, iCrawler significantly decreases storage costs by 57.10% when compared with the texts obtained through classical HTML stripping. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2194" xmlns="http://purl.org/rss/1.0/"><title>Generic windowing support for extensible stream processing systems</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2194</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Generic windowing support for extensible stream processing systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Buğra Gedik</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-03-26T02:48:32.507291-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2194</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2194</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2194</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Stream processing applications process high volume, continuous feeds from live data sources, employ data-in-motion analytics to analyze these feeds, and produce near real-time insights with low latency. One of the fundamental characteristics of such applications is the on-the-fly nature of the computation, which does not require access to disk resident data. Stream processing applications store the most recent history of streams in memory and use it to perform the necessary modeling and analysis tasks. This recent history is often managed using <em>windows</em>. All data stream management systems provide some form of windowing functionality. Windowing makes it possible to implement streaming versions of the traditionally blocking relational operators, such as streaming aggregations, joins, and sorts, as well as any other analytic operator that requires keeping the most recent tuples as state, such as time series analysis operators and signal processing operators.</p></div>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, we provide a categorization of different window types and policies employed in stream processing applications and give detailed operational semantics for various window configurations. We describe an extensibility mechanism that makes it possible to integrate windowing support into user-defined operators, enabling consistent syntax and semantics across system-provided and third-party toolkits of streaming operators. We describe the design and implementation of a runtime windowing library that significantly simplifies the construction of window-based operators by decoupling the handling of window policies and operator logic from each other. We present our experience using the windowing library to implement a relational operators toolkit and compare the efficacy of the solution to an earlier implementation that did not employ a common windowing library. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Stream processing applications process high volume, continuous feeds from live data sources, employ data-in-motion analytics to analyze these feeds, and produce near real-time insights with low latency. One of the fundamental characteristics of such applications is the on-the-fly nature of the computation, which does not require access to disk resident data. Stream processing applications store the most recent history of streams in memory and use it to perform the necessary modeling and analysis tasks. This recent history is often managed using windows. All data stream management systems provide some form of windowing functionality. Windowing makes it possible to implement streaming versions of the traditionally blocking relational operators, such as streaming aggregations, joins, and sorts, as well as any other analytic operator that requires keeping the most recent tuples as state, such as time series analysis operators and signal processing operators.
In this paper, we provide a categorization of different window types and policies employed in stream processing applications and give detailed operational semantics for various window configurations. We describe an extensibility mechanism that makes it possible to integrate windowing support into user-defined operators, enabling consistent syntax and semantics across system-provided and third-party toolkits of streaming operators. We describe the design and implementation of a runtime windowing library that significantly simplifies the construction of window-based operators by decoupling the handling of window policies and operator logic from each other. We present our experience using the windowing library to implement a relational operators toolkit and compare the efficacy of the solution to an earlier implementation that did not employ a common windowing library. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2192" xmlns="http://purl.org/rss/1.0/"><title>A heuristic approach to selecting views for materialization</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2192</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A heuristic approach to selecting views for materialization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Roantree, Jun Liu</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-03-13T00:01:09.690565-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2192</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2192</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2192</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2192-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>XML data warehouses are becoming more popular as data is harvested from the web or as output from web services. As these warehouses tend to grow significantly over time, various techniques for expediting queries have been developed. One such technique is to materialize some or all of the queries in advance of query processing. These views are then subject to change either when underlying data changes or view definitions themselves are modified by users. The work in this paper focuses on changes to view definitions or view adaptation as it is known. Our approach is to segment the materialized view into fragments to minimize the effect of view changes. One crucial aspect to this approach is how to select the best fragments for materialization. In this paper, we introduce a new approach to selecting fragments based on heuristics derived from costs associated with the view graph. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
XML data warehouses are becoming more popular as data is harvested from the web or as output from web services. As these warehouses tend to grow significantly over time, various techniques for expediting queries have been developed. One such technique is to materialize some or all of the queries in advance of query processing. These views are then subject to change either when underlying data changes or view definitions themselves are modified by users. The work in this paper focuses on changes to view definitions or view adaptation as it is known. Our approach is to segment the materialized view into fragments to minimize the effect of view changes. One crucial aspect to this approach is how to select the best fragments for materialization. In this paper, we introduce a new approach to selecting fragments based on heuristics derived from costs associated with the view graph. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2190" xmlns="http://purl.org/rss/1.0/"><title>Model-driven physical-design automation for FPGAs: fast prototyping and legacy reuse</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2190</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Model-driven physical-design automation for FPGAs: fast prototyping and legacy reuse</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ciprian Teodorov, Loïc Lagadec</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-03-06T00:49:08.139218-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2190</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2190</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2190</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The current integrated circuit technologies are approaching their physical limits in terms of scaling and power consumption, in this context, the electronic design automation (EDA) industry is pushed towards solving ever more challenging problems in terms of performance, scalability and adaptability. Meeting these constraints needs innovation at both the algorithmic and the methodological level. Amongst academic EDA tools, Madeo toolkit has been targeting field-programmable gate array (FPGA) design-automation at the logic and the physical level since the late 1990s. As many other long-living software, despite embedding valuable legacy, Madeo exhibits unwanted characteristics that penalize evolution and render the automation problems even more difficult. This study presents a methodological approach to physical-design automation relying on model-driven engineering, which is illustrated through the incremental redesign of the Madeo framework. A benefit of this approach is the emergence of a common vocabulary to describe the EDA domain in an FPGA scope. A second advantage is the isolation of the optimization algorithms from the structural domain models. However, the main asset is the possibility to re-inject into the newly designed toolkit most of the legacy code. The redesigned framework is compared with and scored against initial code-base, and demonstrates a regression-free remodeling of the environment with net improvements in terms of size and complexity metrics. As a consequence, the evolution capability is back on stage, and the domain-space exploration widens to the algorithmic axis. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The current integrated circuit technologies are approaching their physical limits in terms of scaling and power consumption, in this context, the electronic design automation (EDA) industry is pushed towards solving ever more challenging problems in terms of performance, scalability and adaptability. Meeting these constraints needs innovation at both the algorithmic and the methodological level. Amongst academic EDA tools, Madeo toolkit has been targeting field-programmable gate array (FPGA) design-automation at the logic and the physical level since the late 1990s. As many other long-living software, despite embedding valuable legacy, Madeo exhibits unwanted characteristics that penalize evolution and render the automation problems even more difficult. This study presents a methodological approach to physical-design automation relying on model-driven engineering, which is illustrated through the incremental redesign of the Madeo framework. A benefit of this approach is the emergence of a common vocabulary to describe the EDA domain in an FPGA scope. A second advantage is the isolation of the optimization algorithms from the structural domain models. However, the main asset is the possibility to re-inject into the newly designed toolkit most of the legacy code. The redesigned framework is compared with and scored against initial code-base, and demonstrates a regression-free remodeling of the environment with net improvements in terms of size and complexity metrics. As a consequence, the evolution capability is back on stage, and the domain-space exploration widens to the algorithmic axis. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2187" xmlns="http://purl.org/rss/1.0/"><title>From bytecode to JavaScript: the Js_of_ocaml compiler</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2187</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">From bytecode to JavaScript: the Js_of_ocaml compiler</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jérôme Vouillon, Vincent Balat</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-26T05:10:29.180864-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2187</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2187</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2187</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>We present the design and implementation of a compiler from OCaml bytecode to JavaScript. The compiler first translates the bytecode into a static single-assignment intermediate representation on which optimizations are performed, before generating JavaScript. We believe that taking bytecode as an input instead of a high-level language is a sensible choice. Virtual machines provide a very stable API. Such a compiler is thus easy to maintain. It is also convenient to use, and it can just be added to an existing installation of the development tools. Already-compiled libraries can be used directly, with no need to reinstall anything. Finally, some virtual machines are the target of several languages. A bytecode to JavaScript compiler would make it possible to retarget all these languages to Web browsers at once. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

We present the design and implementation of a compiler from OCaml bytecode to JavaScript. The compiler first translates the bytecode into a static single-assignment intermediate representation on which optimizations are performed, before generating JavaScript. We believe that taking bytecode as an input instead of a high-level language is a sensible choice. Virtual machines provide a very stable API. Such a compiler is thus easy to maintain. It is also convenient to use, and it can just be added to an existing installation of the development tools. Already-compiled libraries can be used directly, with no need to reinstall anything. Finally, some virtual machines are the target of several languages. A bytecode to JavaScript compiler would make it possible to retarget all these languages to Web browsers at once. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2188" xmlns="http://purl.org/rss/1.0/"><title>Adapting FreeRTOS for multicores: an experience report</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2188</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Adapting FreeRTOS for multicores: an experience report</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James Mistry, Matthew Naylor, Jim Woodcock</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-19T00:25:19.592517-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2188</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2188</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2188</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Experience Report</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2188-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Multicore processors are ubiquitous. Their use in embedded systems is growing rapidly, and given the constraints on uniprocessor clock speeds, their importance in meeting the demands of increasingly processor-intensive embedded applications cannot be understated. To harness this potential, system designers need to have available to them embedded operating systems with built-in multicore support for widely available embedded hardware. This paper documents our experience of adapting FreeRTOS, a popular embedded real-time operating system, to support multiple processors. A working multicore version of FreeRTOS that is able to schedule tasks on multiple processors as well as provide full mutual-exclusion support for use in concurrent applications is presented. Mutual exclusion is achieved in an almost completely platform-agnostic manner, preserving one of FreeRTOS's most attractive features: <em>portability</em>. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Multicore processors are ubiquitous. Their use in embedded systems is growing rapidly, and given the constraints on uniprocessor clock speeds, their importance in meeting the demands of increasingly processor-intensive embedded applications cannot be understated. To harness this potential, system designers need to have available to them embedded operating systems with built-in multicore support for widely available embedded hardware. This paper documents our experience of adapting FreeRTOS, a popular embedded real-time operating system, to support multiple processors. A working multicore version of FreeRTOS that is able to schedule tasks on multiple processors as well as provide full mutual-exclusion support for use in concurrent applications is presented. Mutual exclusion is achieved in an almost completely platform-agnostic manner, preserving one of FreeRTOS's most attractive features: portability. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2185" xmlns="http://purl.org/rss/1.0/"><title>Full autonomic repair for distributed applications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2185</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Full autonomic repair for distributed applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fabienne Boyer, Noel Palma, Olivier Gruber, Sylvain Sicard</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-07T02:50:45.366328-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2185</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2185</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2185</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2185-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Grid or cloud environments leverage the need for self-repair solutions that resist and repair their own failures, something not yet ensured by existing solutions. In this paper, we describe the <span class="smallCaps">JADE</span> Autonomic Repair System for legacy applications deployed in a grid or cloud environment. <span class="smallCaps">JADE</span> is based on three main design principles. First, legacy applications are wrapped with Java objects, obtaining a uniform set of management operations over the heterogeneous legacy management capabilities. Second, to gain full autonomy, we adopt a replicated design combined with a recursive approach that makes <span class="smallCaps">JADE</span> appear to <span class="smallCaps">JADE</span> as any distributed application it manages and repairs. Finally, to scale, we rely on tiling the distributed environment and structuring our repair system per tile. To our knowledge, our repair system is the only one that is designed to scale and is fully autonomic, repairing not only the failures of the managed system but also its own. Our repair system has been tested in various realistic scenarios. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Grid or cloud environments leverage the need for self-repair solutions that resist and repair their own failures, something not yet ensured by existing solutions. In this paper, we describe the JADE Autonomic Repair System for legacy applications deployed in a grid or cloud environment. JADE is based on three main design principles. First, legacy applications are wrapped with Java objects, obtaining a uniform set of management operations over the heterogeneous legacy management capabilities. Second, to gain full autonomy, we adopt a replicated design combined with a recursive approach that makes JADE appear to JADE as any distributed application it manages and repairs. Finally, to scale, we rely on tiling the distributed environment and structuring our repair system per tile. To our knowledge, our repair system is the only one that is designed to scale and is fully autonomic, repairing not only the failures of the managed system but also its own. Our repair system has been tested in various realistic scenarios. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2183" xmlns="http://purl.org/rss/1.0/"><title>Guidelines for supporting real-time multi-touch applications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2183</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Guidelines for supporting real-time multi-touch applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Richardson, Liz Burd, Shamus Smith</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-06T03:25:36.575689-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2183</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2183</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2183</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Multi-touch driven user interfaces are becoming increasingly prevalent because of their intuitiveness and because of the reduction in the associated hardware costs. In recognition of this trend, multi-touch software frameworks (MSFs) have begun to emerge. These frameworks abstract the low level issues of multi-touch software development and deployment. MSFs therefore enable software developers who are unfamiliar with the complexities of multi-touch software development to implement and deploy multi-touch applications more easily. However, some multi-touch applications have real-time system requirements, and at present, no MSFs provide support for the development and deployment of such real-time multi-touch applications. The implication of this is that software developers are unable to take advantage of MSFs and, therefore, are forced to handle the complexities of multi-touch and real-time systems development and deployment for themselves in an <em>ad hoc</em> manner. The primary consequence of this is that the multi-touch and/or real-time aspects of the application may not function correctly. In this paper, guidelines are presented for applying real-time system concepts to support the development and deployment of real-time multi-touch applications using MSFs. This serves to increase the probability that the application will meet its timing requirements while also reducing the complexity of the development and deployment process associated with multi-touch applications. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Multi-touch driven user interfaces are becoming increasingly prevalent because of their intuitiveness and because of the reduction in the associated hardware costs. In recognition of this trend, multi-touch software frameworks (MSFs) have begun to emerge. These frameworks abstract the low level issues of multi-touch software development and deployment. MSFs therefore enable software developers who are unfamiliar with the complexities of multi-touch software development to implement and deploy multi-touch applications more easily. However, some multi-touch applications have real-time system requirements, and at present, no MSFs provide support for the development and deployment of such real-time multi-touch applications. The implication of this is that software developers are unable to take advantage of MSFs and, therefore, are forced to handle the complexities of multi-touch and real-time systems development and deployment for themselves in an ad hoc manner. The primary consequence of this is that the multi-touch and/or real-time aspects of the application may not function correctly. In this paper, guidelines are presented for applying real-time system concepts to support the development and deployment of real-time multi-touch applications using MSFs. This serves to increase the probability that the application will meet its timing requirements while also reducing the complexity of the development and deployment process associated with multi-touch applications. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2186" xmlns="http://purl.org/rss/1.0/"><title>Loop scheduling with memory access reduction subject to register constraints for DSP applications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2186</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Loop scheduling with memory access reduction subject to register constraints for DSP applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yi Wang, Zhiping Jia, Renhai Chen, Meng Wang, Duo Liu, Zili Shao</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-06T03:13:55.302411-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2186</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2186</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2186</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2186-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Memory accesses introduce big-time overhead and power consumption because of the performance gap between processors and main memory. This paper describes and evaluates a technique, loop scheduling with memory access reduction (LSMAR), that replaces hidden redundant load operations with register operations in loop kernels and performs partial scheduling for newly generated register operations subject to register constraints. By exploiting data dependence of memory access operations, the LSMAR technique can effectively reduce the number of memory accesses of loop kernels, thereby improving timing performance. The technique has been implemented into the Trimaran compiler and evaluated using a set of benchmarks from DSPstone and MiBench on the cycle-accurate simulator of the Trimaran infrastructure. The experimental results show that when the LSMAR technique is applied, the number of memory accesses can be reduced by 18.47% on average over the benchmarks when it is not applied. The measurements also indicate that the optimizations only lead to an average 1.41% increase in code size. With such small code size expansion, the technique is more suitable for embedded systems compared with prior work.Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Memory accesses introduce big-time overhead and power consumption because of the performance gap between processors and main memory. This paper describes and evaluates a technique, loop scheduling with memory access reduction (LSMAR), that replaces hidden redundant load operations with register operations in loop kernels and performs partial scheduling for newly generated register operations subject to register constraints. By exploiting data dependence of memory access operations, the LSMAR technique can effectively reduce the number of memory accesses of loop kernels, thereby improving timing performance. The technique has been implemented into the Trimaran compiler and evaluated using a set of benchmarks from DSPstone and MiBench on the cycle-accurate simulator of the Trimaran infrastructure. The experimental results show that when the LSMAR technique is applied, the number of memory accesses can be reduced by 18.47% on average over the benchmarks when it is not applied. The measurements also indicate that the optimizations only lead to an average 1.41% increase in code size. With such small code size expansion, the technique is more suitable for embedded systems compared with prior work.Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2179" xmlns="http://purl.org/rss/1.0/"><title>Performance of the most common non-cryptographic hash functions</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2179</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Performance of the most common non-cryptographic hash functions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">César Estébanez, Yago Saez, Gustavo Recio, Pedro Isasi</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-28T04:15:58.574054-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2179</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2179</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2179</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Non-cryptographic hash functions (NCHFs) have an immense number of applications, ranging from compilers and databases to videogames and computer networks. Some of the most important NCHF have been used by major corporations in commercial products. This practical success demonstrates the ability of hashing systems to provide extremely efficient searches over unsorted sets. However, very little research has been devoted to the experimental evaluation of these functions. Therefore, we evaluated the most widely used NCHF using four criteria as follows: collision resistance, distribution of outputs, avalanche effect, and speed. We identified their strengths and weaknesses and found significant flaws in some cases. We also discuss our conclusions regarding general hashing considerations such as selection of the compression map. Our results should assist practitioners and engineers in making more informed choices regarding which function to use for a particular problem.Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Non-cryptographic hash functions (NCHFs) have an immense number of applications, ranging from compilers and databases to videogames and computer networks. Some of the most important NCHF have been used by major corporations in commercial products. This practical success demonstrates the ability of hashing systems to provide extremely efficient searches over unsorted sets. However, very little research has been devoted to the experimental evaluation of these functions. Therefore, we evaluated the most widely used NCHF using four criteria as follows: collision resistance, distribution of outputs, avalanche effect, and speed. We identified their strengths and weaknesses and found significant flaws in some cases. We also discuss our conclusions regarding general hashing considerations such as selection of the compression map. Our results should assist practitioners and engineers in making more informed choices regarding which function to use for a particular problem.Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2184" xmlns="http://purl.org/rss/1.0/"><title>Dereferee: instrumenting C++ pointers with meaningful runtime diagnostics</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2184</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Dereferee: instrumenting C++ pointers with meaningful runtime diagnostics</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anthony Allevato, Stephen H. Edwards</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-24T11:55:22.95105-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2184</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2184</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2184</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2184-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Proper memory management and pointer usage often prove to be the most difficult concepts for students learning C++ to grasp. Compounding this problem is the fact that the compilers and runtime environments traditionally used to introduce these concepts leave much to be desired with regard to generating meaningful diagnostics to assist students in tracking down and fixing memory-related logical errors. To alleviate this, we have developed <em>Dereferee,</em> an advanced yet thin wrapper around C++ pointers that greatly increases the quality of these runtime diagnostics, but with only a small amount of intrusion into the development process. With regard to performance, memory-intensive programs will experience execution times approximately 20–30 times slower when using Dereferee, which is comparable with other similar tools. Furthermore, the library has been designed to be customizable and easily disabled to transition codes from development to production.Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Proper memory management and pointer usage often prove to be the most difficult concepts for students learning C++ to grasp. Compounding this problem is the fact that the compilers and runtime environments traditionally used to introduce these concepts leave much to be desired with regard to generating meaningful diagnostics to assist students in tracking down and fixing memory-related logical errors. To alleviate this, we have developed Dereferee, an advanced yet thin wrapper around C++ pointers that greatly increases the quality of these runtime diagnostics, but with only a small amount of intrusion into the development process. With regard to performance, memory-intensive programs will experience execution times approximately 20–30 times slower when using Dereferee, which is comparable with other similar tools. Furthermore, the library has been designed to be customizable and easily disabled to transition codes from development to production.Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2181" xmlns="http://purl.org/rss/1.0/"><title>Scheduling component replacement for timely execution in dynamic systems</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2181</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Scheduling component replacement for timely execution in dynamic systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julio Cano Romero, Marisol García-Valls</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-22T04:52:32.871151-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2181</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2181</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2181</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2181-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Timely run-time software replacement techniques are a corner stone for reconciling real-time systems development and dynamic behavior. Typical real-time systems do not consider dynamic behavior because it deeply challenges predictability and timeliness. Current efforts are starting to merge the safe and predictable execution with a controllable level of dynamicity by imposing a set of bounds and limitations to the system dynamic behavior. One of the obstacles for this is how to time-bound the different operations required to effectively implement component replacement. In this paper, the main challenges for this problem are identified, and a model to ensure that components can be replaced at run time preserving the temporal properties of the system is provided that also avoids failures in replacements. A real example and simulations of our replacement model are provided that validate the presented ideas. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Timely run-time software replacement techniques are a corner stone for reconciling real-time systems development and dynamic behavior. Typical real-time systems do not consider dynamic behavior because it deeply challenges predictability and timeliness. Current efforts are starting to merge the safe and predictable execution with a controllable level of dynamicity by imposing a set of bounds and limitations to the system dynamic behavior. One of the obstacles for this is how to time-bound the different operations required to effectively implement component replacement. In this paper, the main challenges for this problem are identified, and a model to ensure that components can be replaced at run time preserving the temporal properties of the system is provided that also avoids failures in replacements. A real example and simulations of our replacement model are provided that validate the presented ideas. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2176" xmlns="http://purl.org/rss/1.0/"><title>Analyzing and addressing false interactions during compiler optimization phase ordering</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2176</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Analyzing and addressing false interactions during compiler optimization phase ordering</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael R. Jantz, Prasad A. Kulkarni</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-22T04:25:22.423063-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2176</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2176</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2176</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2176-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Compiler optimization phase ordering is a fundamental, pervasive, and long-standing problem for optimizing compilers. This problem is caused by interacting optimization phases producing different codes when applied in different orders. Producing the best phase ordering code is very important in performance-oriented and cost-constrained domains, such as embedded systems. In this work, we analyze the causes of the phase ordering problem in our compiler, Very Portable Optimizer (VPO), and report our observations. We devise new techniques to eliminate, what we call, <em>false</em> phase interactions in our compiler. We find that reducing such false phase interactions significantly prunes the phase order search space. We also develop and study algorithms to find the best average performance that can be delivered by a single phase sequence over our benchmark set and discuss the challenges in resolving this important problem. Our results show that there is no single sequence in VPO that can achieve the optimal phase ordering performance across all functions. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Compiler optimization phase ordering is a fundamental, pervasive, and long-standing problem for optimizing compilers. This problem is caused by interacting optimization phases producing different codes when applied in different orders. Producing the best phase ordering code is very important in performance-oriented and cost-constrained domains, such as embedded systems. In this work, we analyze the causes of the phase ordering problem in our compiler, Very Portable Optimizer (VPO), and report our observations. We devise new techniques to eliminate, what we call, false phase interactions in our compiler. We find that reducing such false phase interactions significantly prunes the phase order search space. We also develop and study algorithms to find the best average performance that can be delivered by a single phase sequence over our benchmark set and discuss the challenges in resolving this important problem. Our results show that there is no single sequence in VPO that can achieve the optimal phase ordering performance across all functions. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2182" xmlns="http://purl.org/rss/1.0/"><title>Programs as visual, interactive documents</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2182</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Programs as visual, interactive documents</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">G.W. French, J.R. Kennaway, A.M. Day</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-22T03:22:29.687966-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2182</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2182</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2182</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>We present a novel approach to combined textual and visual programming by allowing visual, interactive objects to be embedded within textual source code and segments of source code to be further embedded within those objects. We retain the strengths of text-based source code, while enabling visual programming where it is beneficial. Additionally, embedded objects and code provide a simple object-oriented approach to adding a visual form of LISP-style macros to a language. The ability to freely combine source code and visual, interactive objects with one another allows for the construction of interactive programming tools and experimentation with novel programming language extensions. Our visual programming system is supported by a type coercion-based presentation protocol that displays normal Java and Python objects in a visual, interactive form. We have implemented our system within a prototype interactive programming environment called ‘The Larch Environment’. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

We present a novel approach to combined textual and visual programming by allowing visual, interactive objects to be embedded within textual source code and segments of source code to be further embedded within those objects. We retain the strengths of text-based source code, while enabling visual programming where it is beneficial. Additionally, embedded objects and code provide a simple object-oriented approach to adding a visual form of LISP-style macros to a language. The ability to freely combine source code and visual, interactive objects with one another allows for the construction of interactive programming tools and experimentation with novel programming language extensions. Our visual programming system is supported by a type coercion-based presentation protocol that displays normal Java and Python objects in a visual, interactive form. We have implemented our system within a prototype interactive programming environment called ‘The Larch Environment’. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2169" xmlns="http://purl.org/rss/1.0/"><title>Editorial</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2169</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Editorial</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Angelo Di Iorio, Davide Rossi, Stefano Zacchiroli</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-21T04:58:56.186104-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2169</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2169</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2169</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2180" xmlns="http://purl.org/rss/1.0/"><title>Analysis of operating system diversity for intrusion tolerance</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2180</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Analysis of operating system diversity for intrusion tolerance</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Miguel Garcia, Alysson Bessani, Ilir Gashi, Nuno Neves, Rafael Obelheiro</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-01-15T03:00:14.325843-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2180</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2180</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2180</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2180-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>One of the key benefits of using intrusion-tolerant systems is the possibility of ensuring correct behavior in the presence of attacks and intrusions. These security gains are directly dependent on the components exhibiting failure diversity. To what extent failure diversity is observed in practical deployment depends on how diverse are the components that constitute the system. In this paper, we present a study with operating system's (OS's) vulnerability data from the NIST National Vulnerability Database (NVD). We have analyzed the vulnerabilities of 11 different OSs over a period of 18 years, to check how many of these vulnerabilities occur in more than one OS. We found this number to be low for several combinations of OSs. Hence, although there are a few caveats on the use of NVD data to support definitive conclusions, our analysis shows that by selecting appropriate OSs, one can preclude (or reduce substantially) common vulnerabilities from occurring in the replicas of the intrusion-tolerant system. Copyright © 2013 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
One of the key benefits of using intrusion-tolerant systems is the possibility of ensuring correct behavior in the presence of attacks and intrusions. These security gains are directly dependent on the components exhibiting failure diversity. To what extent failure diversity is observed in practical deployment depends on how diverse are the components that constitute the system. In this paper, we present a study with operating system's (OS's) vulnerability data from the NIST National Vulnerability Database (NVD). We have analyzed the vulnerabilities of 11 different OSs over a period of 18 years, to check how many of these vulnerabilities occur in more than one OS. We found this number to be low for several combinations of OSs. Hence, although there are a few caveats on the use of NVD data to support definitive conclusions, our analysis shows that by selecting appropriate OSs, one can preclude (or reduce substantially) common vulnerabilities from occurring in the replicas of the intrusion-tolerant system. Copyright © 2013 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2171" xmlns="http://purl.org/rss/1.0/"><title>Incremental inconsistency detection with low memory overhead</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2171</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Incremental inconsistency detection with low memory overhead</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jean-Rémy Falleri, Xavier Blanc, Reda Bendraou, Marcos Aurélio Almeida Silva, Cédric Teyton</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-28T01:55:42.975096-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2171</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2171</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2171</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Ensuring models’ consistency is a key concern when using a model-based development approach. Therefore, model inconsistency detection has received significant attention over the last years. To be useful, inconsistency detection has to be sound, efficient, and scalable. Incremental detection is one way to achieve efficiency in the presence of large models. In most of the existing approaches, incrementalization is carried out at the expense of the memory consumption that becomes proportional to the model size and the number of consistency rules. In this paper, we propose a new incremental inconsistency detection approach that only consumes a small and model size-independent amount of memory. It will therefore scale better to projects using large models and many consistency rules. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Ensuring models’ consistency is a key concern when using a model-based development approach. Therefore, model inconsistency detection has received significant attention over the last years. To be useful, inconsistency detection has to be sound, efficient, and scalable. Incremental detection is one way to achieve efficiency in the presence of large models. In most of the existing approaches, incrementalization is carried out at the expense of the memory consumption that becomes proportional to the model size and the number of consistency rules. In this paper, we propose a new incremental inconsistency detection approach that only consumes a small and model size-independent amount of memory. It will therefore scale better to projects using large models and many consistency rules. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2172" xmlns="http://purl.org/rss/1.0/"><title>International workshop on smalltalk technologies 2011 special issue</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2172</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">International workshop on smalltalk technologies 2011 special issue</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">A. Plantec, L. Lagadec</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-27T02:16:04.728633-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2172</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2172</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2172</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2172-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Smalltalk is an exciting object-oriented language in which even primitive values are uniformly handled as normal objects described by classes that one can browse and extend. Smalltalk was born during the seventies, but the ideas behind currently available implementations are still modern and innovative.</p></div>
<div class="para" id="spe2172-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Smalltalk benefits from being a highly expressive language in which complex and powerful systems can emerge from the composition of simple building blocks. Thanks to its dynamic nature, fast prototyping and agile software development are made possible. Smalltalk also benefits from having powerful meta-programming facilities. A program is able to query and to change its own structure and behavior. Smalltalk is not only a language but also an interactive system that is implemented in Smalltalk and that can be customized according to users needs.</p></div>
<div class="para" id="spe2172-para-0003" xmlns="http://www.w3.org/1999/xhtml"><p>This special issue presents four extended versions of research papers from the third <em>International Workshop on Smalltalk Technologies</em> (IWST) that was organized at Edinburgh on September 2011. 
</p><ul id="spe2172-list-0001" class="plain">
<li>
<div class="para" id="spe2172-para-0004"><p>Johan Fabry <em>et al</em>. <a href="#spe2172-bib-0001" rel="references:#spe2172-bib-0001"/> presented <em>Phantom</em>, an aspect language that includes recent research results in aspect interactions and reentrancy control. <em>Phantom</em> is designed to be optimized and compiled where possible.</p></div></li>
<li>
<div class="para" id="spe2172-para-0005"><p>Increasing use of reflection and meta-programming techniques in real world applications underlines the need for more dynamic approaches. New approaches have shifted to object-specific reuse. Jorge Ressia <em>et al</em>. <a href="#spe2172-bib-0002" rel="references:#spe2172-bib-0002"/> proposed a new abstraction called a <em>talent</em>, which models features that are shared between objects of different class hierarchies.</p></div></li>
<li>
<div class="para" id="spe2172-para-0006"><p>Martin Dias <em>et al</em>. <a href="#spe2172-bib-0003" rel="references:#spe2172-bib-0003"/> presented <em>Fuel</em>, a general-purpose object serializer that focuses on speed, through a compact binary format and an efficient pickling algorithm. <em>Fuel</em> serializes any object, thus having a full-featured language-specific format.</p></div></li>
<li>
<div class="para" id="spe2172-para-0007"><p>Redesign of nontrivial software is often a challenge. Ciprian Teodorov <em>et al</em>. <a href="#spe2172-bib-0004" rel="references:#spe2172-bib-0004"/> addressed physical-design automation and presented a methodological approach relying on model-driven engineering. Also, they summarized some lessons learned from the incremental redesign of <em>Madeo</em>, a toolkit that targets field-programmable gate array design automation.</p></div></li></ul></div>
<div class="para" id="spe2172-para-0008" xmlns="http://www.w3.org/1999/xhtml"><p>The goal of the IWST workshop series is to create and foster a forum around advances or experiences in Smalltalk. Each IWST workshop is organized as a collocated event of the <em>European Smalltalk User Group</em> annual conference. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Smalltalk is an exciting object-oriented language in which even primitive values are uniformly handled as normal objects described by classes that one can browse and extend. Smalltalk was born during the seventies, but the ideas behind currently available implementations are still modern and innovative.
Smalltalk benefits from being a highly expressive language in which complex and powerful systems can emerge from the composition of simple building blocks. Thanks to its dynamic nature, fast prototyping and agile software development are made possible. Smalltalk also benefits from having powerful meta-programming facilities. A program is able to query and to change its own structure and behavior. Smalltalk is not only a language but also an interactive system that is implemented in Smalltalk and that can be customized according to users needs.
This special issue presents four extended versions of research papers from the third International Workshop on Smalltalk Technologies (IWST) that was organized at Edinburgh on September 2011. 


Johan Fabry et al.  presented Phantom, an aspect language that includes recent research results in aspect interactions and reentrancy control. Phantom is designed to be optimized and compiled where possible.

Increasing use of reflection and meta-programming techniques in real world applications underlines the need for more dynamic approaches. New approaches have shifted to object-specific reuse. Jorge Ressia et al.  proposed a new abstraction called a talent, which models features that are shared between objects of different class hierarchies.

Martin Dias et al.  presented Fuel, a general-purpose object serializer that focuses on speed, through a compact binary format and an efficient pickling algorithm. Fuel serializes any object, thus having a full-featured language-specific format.

Redesign of nontrivial software is often a challenge. Ciprian Teodorov et al.  addressed physical-design automation and presented a methodological approach relying on model-driven engineering. Also, they summarized some lessons learned from the incremental redesign of Madeo, a toolkit that targets field-programmable gate array design automation.
The goal of the IWST workshop series is to create and foster a forum around advances or experiences in Smalltalk. Each IWST workshop is organized as a collocated event of the European Smalltalk User Group annual conference. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2175" xmlns="http://purl.org/rss/1.0/"><title>A new approach to authenticating and encrypting Voice over Internet Protocol communications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2175</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A new approach to authenticating and encrypting Voice over Internet Protocol communications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J. Lago-Fernández, F. Gil-Castiñeira, F.J. González-Castaño, A.  Román-Portabales</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-12T04:45:12.881074-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2175</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2175</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2175</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Traditionally, call authentication and security have not raised user concerns because wiretapping requires physical access to the phone line and special equipment. However, Voice over Internet Protocol (VoIP) communications are becoming increasingly popular, and there is the perception that they may be easier to intercept or impersonate (thus creating higher demand for security solutions), especially if the connection occurs over wireless links. The Session Initiation Protocol is widely used for managing voice and video communications over the Internet, and the Real-time Transport Protocol is used to carry voice and/or video streams. Session Initiation Protocol, however, was not designed with security in mind and is vulnerable to attacks.</p></div>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Furthermore, there are cases in which it is necessary to authenticate the call participants (e.g., when they are asked to disclose confidential information). There are few practical solutions to this problem, essentially because they require complex infrastructures to manage keys and certificates.</p></div>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, we solve this problem with a novel approach: the use of national public key infrastructures in combination with national Electronic Identity smart cards, created by governments to execute trusted electronic transactions and establish trusted identities. In addition, we will show how our approach enables new use cases (e.g., institutions – hospitals, banks, government, etc. – can be confident that they exchange confidential information to the intended person and vice versa) and simplifies the steps necessary to secure and authenticate a VoIP communication with ZRTP, simplifying and therefore encouraging the use of secure VoIP communications between authenticated users.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Traditionally, call authentication and security have not raised user concerns because wiretapping requires physical access to the phone line and special equipment. However, Voice over Internet Protocol (VoIP) communications are becoming increasingly popular, and there is the perception that they may be easier to intercept or impersonate (thus creating higher demand for security solutions), especially if the connection occurs over wireless links. The Session Initiation Protocol is widely used for managing voice and video communications over the Internet, and the Real-time Transport Protocol is used to carry voice and/or video streams. Session Initiation Protocol, however, was not designed with security in mind and is vulnerable to attacks.
Furthermore, there are cases in which it is necessary to authenticate the call participants (e.g., when they are asked to disclose confidential information). There are few practical solutions to this problem, essentially because they require complex infrastructures to manage keys and certificates.
In this paper, we solve this problem with a novel approach: the use of national public key infrastructures in combination with national Electronic Identity smart cards, created by governments to execute trusted electronic transactions and establish trusted identities. In addition, we will show how our approach enables new use cases (e.g., institutions – hospitals, banks, government, etc. – can be confident that they exchange confidential information to the intended person and vice versa) and simplifies the steps necessary to secure and authenticate a VoIP communication with ZRTP, simplifying and therefore encouraging the use of secure VoIP communications between authenticated users.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2168" xmlns="http://purl.org/rss/1.0/"><title>Inter-Cloud architectures and application brokering: taxonomy and survey</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2168</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Inter-Cloud architectures and application brokering: taxonomy and survey</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nikolay Grozev, Rajkumar Buyya</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-12T03:57:22.755314-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2168</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2168</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2168</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Survey Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Although Cloud computing itself has many open problems, researchers in the field have already made the leap to envision Inter-Cloud computing. Their goal is to achieve better overall Quality of Service (QoS), reliability and cost efficiency by utilizing multiple clouds. Inter-Cloud research is still in its infancy, and the body of knowledge in the area has not been well defined yet. In this work, we propose and motivate taxonomies for Inter-Cloud architectures and application brokering mechanisms. We present a detailed survey of the state of the art in terms of both academic and industry developments (20 projects), and we fit each project onto the discussed taxonomies. We discuss how the current Inter-Cloud environments facilitate brokering of distributed applications across clouds considering their nonfunctional requirements. Finally, we analyse the existing works and identify open challenges and trends in the area of Inter-Cloud application brokering. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Although Cloud computing itself has many open problems, researchers in the field have already made the leap to envision Inter-Cloud computing. Their goal is to achieve better overall Quality of Service (QoS), reliability and cost efficiency by utilizing multiple clouds. Inter-Cloud research is still in its infancy, and the body of knowledge in the area has not been well defined yet. In this work, we propose and motivate taxonomies for Inter-Cloud architectures and application brokering mechanisms. We present a detailed survey of the state of the art in terms of both academic and industry developments (20 projects), and we fit each project onto the discussed taxonomies. We discuss how the current Inter-Cloud environments facilitate brokering of distributed applications across clouds considering their nonfunctional requirements. Finally, we analyse the existing works and identify open challenges and trends in the area of Inter-Cloud application brokering. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2170" xmlns="http://purl.org/rss/1.0/"><title>SIPmsign: a lightweight mobile signature service based on the Session Initiation Protocol</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2170</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">SIPmsign: a lightweight mobile signature service based on the Session Initiation Protocol</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">A. Ruiz-Martínez, C. Inmaculada Marín-López, D. Sánchez-Martínez, I. Castell Egea</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-07T00:53:48.359299-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2170</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2170</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2170</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>The development of mobile signatures could increase the spread and adoption of mobile services based on electronic signatures, such as mobile payments, mobile business transactions, and mobile government services. A Mobile Signature Service (MSS) means that a user in any of the scenarios mentioned can attach an electronic signature, anywhere, anytime, as with a handwritten signature with a device that is almost always on him or her. Several solutions have appeared, such as using the European Telecommunications Standard Institute MSS, the Mobile Signature Application Unit, and the Mobile Network Operator-independent MSS. These solutions present two kinds of drawbacks. On the one hand, some of them require the service to be developed by all mobile network operators, whereas others are not based on efficient communications. In this paper, we present a new MSS named SIPmsign that solves these problems. Our proposal is based on the Session Initiation Protocol and defines how to exchange the information in a secure and more efficient way than previously. Thanks to Session Initiation Protocol, we provide the adoption of our proposal as a MSS for the new generation of mobile communications. In this paper, we also present the prototype we have developed as a proof of its feasibility as well as an evaluation of the performance of our solution. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The development of mobile signatures could increase the spread and adoption of mobile services based on electronic signatures, such as mobile payments, mobile business transactions, and mobile government services. A Mobile Signature Service (MSS) means that a user in any of the scenarios mentioned can attach an electronic signature, anywhere, anytime, as with a handwritten signature with a device that is almost always on him or her. Several solutions have appeared, such as using the European Telecommunications Standard Institute MSS, the Mobile Signature Application Unit, and the Mobile Network Operator-independent MSS. These solutions present two kinds of drawbacks. On the one hand, some of them require the service to be developed by all mobile network operators, whereas others are not based on efficient communications. In this paper, we present a new MSS named SIPmsign that solves these problems. Our proposal is based on the Session Initiation Protocol and defines how to exchange the information in a secure and more efficient way than previously. Thanks to Session Initiation Protocol, we provide the adoption of our proposal as a MSS for the new generation of mobile communications. In this paper, we also present the prototype we have developed as a proof of its feasibility as well as an evaluation of the performance of our solution. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2173" xmlns="http://purl.org/rss/1.0/"><title>Constantine: configurable static analysis tool in Eclipse</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2173</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Constantine: configurable static analysis tool in Eclipse</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Makarand Gawade, K. Ravikanth, Sanjeev Aggarwal</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-07T00:53:28.688098-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2173</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2173</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2173</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2173-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Static code analysers help in exposing internal code quality problems. For higher effectiveness, they must be pressed into use early during the development of code. They must support the formulation of new coding constraints with relative ease to better cope with variations in coding standards. We present the design of a static analyser that addresses these twin objectives. Our system provides interactive feedback to programmers on the non-conformances that occur in response to the changes made to the code. Its rule construction framework empowers programmers to define new conformance rules, which can come into effect immediately after creation. The tool has been realized as an Eclipse plug-in for the analysis of C, C++ and Java sources. Central to its design is the concept of reusing a set of primitive checks by composing them to form new rules. This renders rule construction accessible to programmers, lowers dependence on tool smiths and accelerates the enforcement of custom checks. We also present our experience in defining rules drawn from an industry standard rule set based on this approach. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Static code analysers help in exposing internal code quality problems. For higher effectiveness, they must be pressed into use early during the development of code. They must support the formulation of new coding constraints with relative ease to better cope with variations in coding standards. We present the design of a static analyser that addresses these twin objectives. Our system provides interactive feedback to programmers on the non-conformances that occur in response to the changes made to the code. Its rule construction framework empowers programmers to define new conformance rules, which can come into effect immediately after creation. The tool has been realized as an Eclipse plug-in for the analysis of C, C++ and Java sources. Central to its design is the concept of reusing a set of primitive checks by composing them to form new rules. This renders rule construction accessible to programmers, lowers dependence on tool smiths and accelerates the enforcement of custom checks. We also present our experience in defining rules drawn from an industry standard rule set based on this approach. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2167" xmlns="http://purl.org/rss/1.0/"><title>A survey report of enhancements to the visitor software design pattern</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2167</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A survey report of enhancements to the visitor software design pattern</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tanumoy Pati, James H. Hill</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-07T00:23:47.032693-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2167</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2167</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2167</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Survey Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2167-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>The Visitor pattern is a behavioral software design pattern where different objects represent an operation to be performed on elements of an object structure. Despite the benefits of the Visitor pattern, its rigid structure has limitations. Owing to the Visitor pattern's usefulness and importance to software design, many researchers have extended and modified the original Visitor pattern to overcome its limitations. Researchers have even replaced the Visitor pattern with more refined design patterns (e.g., Reflective Visitor pattern, Java Walkabout Class, and Dynamic Dispatcher) that bear minimal resemblance to the original Visitor pattern's structure while retaining its major advantages (e.g., ability to add new operations to an object structure without changing the classes of objects, localizing related behavior, and accumulating state). This article therefore provides a comprehensive survey of the Visitor pattern for software practitioners. Within the survey, we focus on major enhancements that have been made to the original Visitor pattern to overcome its limitations. On the basis of our survey results, we found that variations of the Visitor pattern can be separated into two categories: <em>extended</em> Visitor patterns where the original Visitor pattern structure stays intact and <em>alternative</em> Visitor patterns where the structure of the original Visitor pattern is altered. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The Visitor pattern is a behavioral software design pattern where different objects represent an operation to be performed on elements of an object structure. Despite the benefits of the Visitor pattern, its rigid structure has limitations. Owing to the Visitor pattern's usefulness and importance to software design, many researchers have extended and modified the original Visitor pattern to overcome its limitations. Researchers have even replaced the Visitor pattern with more refined design patterns (e.g., Reflective Visitor pattern, Java Walkabout Class, and Dynamic Dispatcher) that bear minimal resemblance to the original Visitor pattern's structure while retaining its major advantages (e.g., ability to add new operations to an object structure without changing the classes of objects, localizing related behavior, and accumulating state). This article therefore provides a comprehensive survey of the Visitor pattern for software practitioners. Within the survey, we focus on major enhancements that have been made to the original Visitor pattern to overcome its limitations. On the basis of our survey results, we found that variations of the Visitor pattern can be separated into two categories: extended Visitor patterns where the original Visitor pattern structure stays intact and alternative Visitor patterns where the structure of the original Visitor pattern is altered. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2174" xmlns="http://purl.org/rss/1.0/"><title>Efficient compilation strategy for object-oriented languages under the closed-world assumption</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2174</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Efficient compilation strategy for object-oriented languages under the closed-world assumption</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Benoît Sonntag, Dominique Colnet</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-11-26T04:41:35.810113-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2174</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2174</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2174</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2174-para-0003" xmlns="http://www.w3.org/1999/xhtml"><p>Reaching the best level of runtime performance from a high-level, object-oriented language is often considered challenging if not unattainable. The closed-world assumption involves considering all of the source code of an application together at compile time. That assumption makes it possible to produce an efficient code. For instance, multiple inheritance can be implemented as efficiently as single inheritance. Our compilation strategy is the result of a prolonged project, tying together several compilation techniques: call graph analysis, dead code elimination, type flow analysis, code customization, implementation of dynamic dispatch, inlining, pointer optimization, switch optimization, objects layout, and so on. Merging all of these techniques into a global strategy appears to be quite problematic. Throughout the paper, two real-world compilers are used as benchmarks to provide measurements for compiler writers to evaluate the applicability of our approach. Type flow analysis is a fundamental aspect of our strategy to resolve method calls. We have extended type flow analysis to deal with the content of arrays, enabling us to process additional expressions and thus making it possible to obtain a true global analysis. Typically, more than 90% of method call sites are statically resolved. Our experience indicates that the closed-world assumption is suitable for numerous applications. Surprisingly, even library-defined control statements from dynamic languages are perfectly processed with our strategy. The Smalltalk <span class="monospace ">ifTrue:ifFalse:</span>, <span class="monospace ">whileTrue:</span>, <span class="monospace ">to:do:</span>, and so on are, for the very first time, perfectly translated. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Reaching the best level of runtime performance from a high-level, object-oriented language is often considered challenging if not unattainable. The closed-world assumption involves considering all of the source code of an application together at compile time. That assumption makes it possible to produce an efficient code. For instance, multiple inheritance can be implemented as efficiently as single inheritance. Our compilation strategy is the result of a prolonged project, tying together several compilation techniques: call graph analysis, dead code elimination, type flow analysis, code customization, implementation of dynamic dispatch, inlining, pointer optimization, switch optimization, objects layout, and so on. Merging all of these techniques into a global strategy appears to be quite problematic. Throughout the paper, two real-world compilers are used as benchmarks to provide measurements for compiler writers to evaluate the applicability of our approach. Type flow analysis is a fundamental aspect of our strategy to resolve method calls. We have extended type flow analysis to deal with the content of arrays, enabling us to process additional expressions and thus making it possible to obtain a true global analysis. Typically, more than 90% of method call sites are statically resolved. Our experience indicates that the closed-world assumption is suitable for numerous applications. Surprisingly, even library-defined control statements from dynamic languages are perfectly processed with our strategy. The Smalltalk ifTrue:ifFalse:, whileTrue:, to:do:, and so on are, for the very first time, perfectly translated. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2163" xmlns="http://purl.org/rss/1.0/"><title>Bandwidth-aware divisible task scheduling for cloud computing</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2163</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Bandwidth-aware divisible task scheduling for cloud computing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Weiwei Lin, Chen Liang, James Z. Wang, Rajkumar Buyya</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-11-23T02:39:49.070706-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2163</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2163</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2163</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Task scheduling is a fundamental issue in achieving high efficiency in cloud computing. However, it is a big challenge for efficient scheduling algorithm design and implementation (as general scheduling problem is NP-complete). Most existing task-scheduling methods of cloud computing only consider task resource requirements for CPU and memory, without considering bandwidth requirements. In order to obtain better performance, in this paper, we propose a bandwidth-aware algorithm for divisible task scheduling in cloud-computing environments. A nonlinear programming model for the divisible task-scheduling problem under the bounded multi-port model is presented. By solving this model, the optimized allocation scheme that determines proper number of tasks assigned to each virtual resource node is obtained. On the basis of the optimized allocation scheme, a heuristic algorithm for divisible load scheduling, called bandwidth-aware task-scheduling (BATS) algorithm, is proposed. The performance of algorithm is evaluated using CloudSim toolkit. Experimental result shows that, compared with the fair-based task-scheduling algorithm, the bandwidth-only task-scheduling algorithm, and the computation-only task-scheduling algorithm, the proposed algorithm (BATS) has better performance. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Task scheduling is a fundamental issue in achieving high efficiency in cloud computing. However, it is a big challenge for efficient scheduling algorithm design and implementation (as general scheduling problem is NP-complete). Most existing task-scheduling methods of cloud computing only consider task resource requirements for CPU and memory, without considering bandwidth requirements. In order to obtain better performance, in this paper, we propose a bandwidth-aware algorithm for divisible task scheduling in cloud-computing environments. A nonlinear programming model for the divisible task-scheduling problem under the bounded multi-port model is presented. By solving this model, the optimized allocation scheme that determines proper number of tasks assigned to each virtual resource node is obtained. On the basis of the optimized allocation scheme, a heuristic algorithm for divisible load scheduling, called bandwidth-aware task-scheduling (BATS) algorithm, is proposed. The performance of algorithm is evaluated using CloudSim toolkit. Experimental result shows that, compared with the fair-based task-scheduling algorithm, the bandwidth-only task-scheduling algorithm, and the computation-only task-scheduling algorithm, the proposed algorithm (BATS) has better performance. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2166" xmlns="http://purl.org/rss/1.0/"><title>Enabling OpenCL support for GPGPU in Kernel-based Virtual Machine</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2166</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Enabling OpenCL support for GPGPU in Kernel-based Virtual Machine</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tsan-Rong Tien, Yi-Ping You</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-11-22T00:51:30.248042-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2166</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2166</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2166</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2166-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>The importance of heterogeneous multicore programming is increasing, and Open Computing Language (OpenCL) is an open industrial standard for parallel programming that provides a uniform programming model for programmers to write efficient, portable code for heterogeneous computing devices. However, OpenCL is not supported in the system virtualization environments that are often used to improve resource utilization. In this paper, we propose an OpenCL virtualization framework based on Kernel-based Virtual Machine with API remoting to enable multiplexing of multiple guest virtual machines (guest VMs) over the underlying OpenCL resources. The framework comprises three major components: (i) an OpenCL library implementation in guest VMs for packing/unpacking OpenCL requests/responses; (ii) a virtual device, called <em>virtio-CL</em>, that is responsible for the communication between guest VMs and the hypervisor (also called the VM monitor); and (iii) a thread, called <em>CL thread</em>, that is used for the OpenCL API invocation. Although the overhead of the proposed virtualization framework is directly affected by the amount of data to be transferred between the OpenCL host and devices because of the primitive nature of API remoting, experiments demonstrated that our virtualization framework has a small virtualization overhead (mean of 6.8%) for six common device-intensive OpenCL programs and performs well when the number of guest VMs involved in the system increases. These results indirectly infer that the framework allows for effective resource utilization of OpenCL devices.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The importance of heterogeneous multicore programming is increasing, and Open Computing Language (OpenCL) is an open industrial standard for parallel programming that provides a uniform programming model for programmers to write efficient, portable code for heterogeneous computing devices. However, OpenCL is not supported in the system virtualization environments that are often used to improve resource utilization. In this paper, we propose an OpenCL virtualization framework based on Kernel-based Virtual Machine with API remoting to enable multiplexing of multiple guest virtual machines (guest VMs) over the underlying OpenCL resources. The framework comprises three major components: (i) an OpenCL library implementation in guest VMs for packing/unpacking OpenCL requests/responses; (ii) a virtual device, called virtio-CL, that is responsible for the communication between guest VMs and the hypervisor (also called the VM monitor); and (iii) a thread, called CL thread, that is used for the OpenCL API invocation. Although the overhead of the proposed virtualization framework is directly affected by the amount of data to be transferred between the OpenCL host and devices because of the primitive nature of API remoting, experiments demonstrated that our virtualization framework has a small virtualization overhead (mean of 6.8%) for six common device-intensive OpenCL programs and performs well when the number of guest VMs involved in the system increases. These results indirectly infer that the framework allows for effective resource utilization of OpenCL devices.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2164" xmlns="http://purl.org/rss/1.0/"><title>Resolving cyclic dependencies between packages with enriched dependency structural matrix</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2164</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Resolving cyclic dependencies between packages with enriched dependency structural matrix</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jannik Laval, Stéphane Ducasse</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-11-20T07:58:03.251249-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2164</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2164</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2164</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2164-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Dependency structural matrix (DSM) is an approach originally developed for process optimization. It has been successfully applied to identify software dependencies among packages and subsystems. A number of algorithms have been proposed to compute the matrix so that it highlights patterns and problematic dependencies between subsystems. However, existing DSM implementations often miss important information to fully support reengineering effort. For example, they do not clearly qualify and quantify problematic relationships, information that is crucial to support remediation tasks. We propose enriched DSM (eDSM), which provides small-multiple views and micro–macro-readings by adding fine-grained information in each cell of the matrix. Each cell is enriched with contextual information about (i) the type of dependencies (inheritance, class reference, etc.), (ii) the proportion of referencing entities, and (iii) the proportion of referenced entities. We distinguish independent cycles and stress potentially simple fixes for cycles by using coloring information. This work is language independent and has been implemented on top of the Moose software analysis platform. In this paper, we expand our previous work. We improved the cell content information view on the basis of user feedback and performed multiple validations: two different case studies on Moose and Seaside software; one user study for validating eDSM as a usable approach for developers. Solutions to problems identified with eDSM have been performed and retrofitted in analyzed software. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Dependency structural matrix (DSM) is an approach originally developed for process optimization. It has been successfully applied to identify software dependencies among packages and subsystems. A number of algorithms have been proposed to compute the matrix so that it highlights patterns and problematic dependencies between subsystems. However, existing DSM implementations often miss important information to fully support reengineering effort. For example, they do not clearly qualify and quantify problematic relationships, information that is crucial to support remediation tasks. We propose enriched DSM (eDSM), which provides small-multiple views and micro–macro-readings by adding fine-grained information in each cell of the matrix. Each cell is enriched with contextual information about (i) the type of dependencies (inheritance, class reference, etc.), (ii) the proportion of referencing entities, and (iii) the proportion of referenced entities. We distinguish independent cycles and stress potentially simple fixes for cycles by using coloring information. This work is language independent and has been implemented on top of the Moose software analysis platform. In this paper, we expand our previous work. We improved the cell content information view on the basis of user feedback and performed multiple validations: two different case studies on Moose and Seaside software; one user study for validating eDSM as a usable approach for developers. Solutions to problems identified with eDSM have been performed and retrofitted in analyzed software. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2165" xmlns="http://purl.org/rss/1.0/"><title>Curracurrong: a stream programming environment for wireless sensor networks</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2165</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Curracurrong: a stream programming environment for wireless sensor networks</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vasvi Kakkad, Saeed Attar, Andrew E. Santosa, Alan Fekete, Bernhard Scholz</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-11-14T05:38:09.094952-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2165</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2165</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2165</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2165-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>The technological advances in wireless sensor network (WSN) enable the development of complex applications including health monitoring, environmental sampling, and disaster area monitoring. WSN applications deploy battery-powered sensors at remote locations for long periods. The development of energy-efficient and complex WSN applications therefore requires in-depth embedded systems programming skills that are normally not found in domain experts. So that this challenge can be overcome, programming environments for WSN need to offer a high degree of productivity, flexibility, and efficiency at the same time. In this work, we present Curracurrong, a development environment for WSNs that is based on expressing queries with stream programming. A query is represented as a stream graph consisting of stream operators and communication channels. Curracurrong provides an extensible stream operator library that adapts to a wide range of applications. It uses a novel placement algorithm that optimizes the energy consumption on sensor nodes. Through a case study, we demonstrate the productivity and flexibility of our system. We conduct experiments that evaluate the energy efficiency of our optimized operator placement algorithm. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The technological advances in wireless sensor network (WSN) enable the development of complex applications including health monitoring, environmental sampling, and disaster area monitoring. WSN applications deploy battery-powered sensors at remote locations for long periods. The development of energy-efficient and complex WSN applications therefore requires in-depth embedded systems programming skills that are normally not found in domain experts. So that this challenge can be overcome, programming environments for WSN need to offer a high degree of productivity, flexibility, and efficiency at the same time. In this work, we present Curracurrong, a development environment for WSNs that is based on expressing queries with stream programming. A query is represented as a stream graph consisting of stream operators and communication channels. Curracurrong provides an extensible stream operator library that adapts to a wide range of applications. It uses a novel placement algorithm that optimizes the energy consumption on sensor nodes. Through a case study, we demonstrate the productivity and flexibility of our system. We conduct experiments that evaluate the energy efficiency of our optimized operator placement algorithm. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2158" xmlns="http://purl.org/rss/1.0/"><title>A thousand years of productivity: the JRebel story</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2158</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A thousand years of productivity: the JRebel story</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jevgeni Kabanov, Varmo Vene</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-10-22T22:38:39.272498-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2158</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2158</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2158</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Experience Report</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Millions of enterprises run web applications powered by the Java Enterprise Edition platform, but developing them is no small feat. Every UI change in development incurs a wait time of up to 15 min. JRebel is a tool that tackles the challenging problem of live application update for the Java Enterprise Edition platform. It does live code reloading, maps resources directly to the developer workspace, and propagates configuration changes to ensure that the developer can keep instantly alternating between the developing environment and the web browser, to save wasted time and increase the productivity flow. This paper describes our journey to build this product from the initial prototype to a major time saver for tens of thousands of users that it is today. We tried to document the most interesting issues and discoveries we made along the way and hope they will be of value to both the academical and industrial communities. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Millions of enterprises run web applications powered by the Java Enterprise Edition platform, but developing them is no small feat. Every UI change in development incurs a wait time of up to 15 min. JRebel is a tool that tackles the challenging problem of live application update for the Java Enterprise Edition platform. It does live code reloading, maps resources directly to the developer workspace, and propagates configuration changes to ensure that the developer can keep instantly alternating between the developing environment and the web browser, to save wasted time and increase the productivity flow. This paper describes our journey to build this product from the initial prototype to a major time saver for tens of thousands of users that it is today. We tried to document the most interesting issues and discoveries we made along the way and hope they will be of value to both the academical and industrial communities. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2161" xmlns="http://purl.org/rss/1.0/"><title>A holistic approach to model-based testing of Web service compositions</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2161</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A holistic approach to model-based testing of Web service compositions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fevzi Belli, Andre Takeshi Endo, Michael Linschulte, Adenilso Simao</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-10-18T04:14:18.472176-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2161</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2161</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2161</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2161-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>The behavior of composed Web services depends on the results of the invoked services; unexpected behavior of one of the invoked services can threat the correct execution of an entire composition. This paper proposes an event-based approach to black-box testing of Web service compositions based on event sequence graphs, which are extended by facilities to deal not only with service behavior under regular circumstances (i.e., where cooperating services are working as expected) but also with their behavior in undesirable situations (i.e., where cooperating services are <em>not</em> working as expected). Furthermore, the approach can be used independently of artifacts (e.g., Business Process Execution Language) or type of composition (orchestration/choreography). A large case study, based on a commercial Web application, demonstrates the feasibility of the approach and analyzes its characteristics. Test generation and execution are supported by dedicated tools. Especially, the use of an enterprise service bus for test execution is noteworthy and differs from other approaches. The results of the case study encourage to suggest that the new approach has the power to detect faults systematically, performing properly even with complex and large compositions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The behavior of composed Web services depends on the results of the invoked services; unexpected behavior of one of the invoked services can threat the correct execution of an entire composition. This paper proposes an event-based approach to black-box testing of Web service compositions based on event sequence graphs, which are extended by facilities to deal not only with service behavior under regular circumstances (i.e., where cooperating services are working as expected) but also with their behavior in undesirable situations (i.e., where cooperating services are not working as expected). Furthermore, the approach can be used independently of artifacts (e.g., Business Process Execution Language) or type of composition (orchestration/choreography). A large case study, based on a commercial Web application, demonstrates the feasibility of the approach and analyzes its characteristics. Test generation and execution are supported by dedicated tools. Especially, the use of an enterprise service bus for test execution is noteworthy and differs from other approaches. The results of the case study encourage to suggest that the new approach has the power to detect faults systematically, performing properly even with complex and large compositions. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2162" xmlns="http://purl.org/rss/1.0/"><title>On the suitability of dynamic languages for hot-reprogramming a robotics framework: a Python case study</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2162</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">On the suitability of dynamic languages for hot-reprogramming a robotics framework: a Python case study</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Francisco Ortin, Sheila Mendez, Vicente García-Díaz, Miguel Garcia</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-10-15T04:36:13.273562-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2162</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2162</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2162</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2162-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>The development of service robots has gained more attention over the last years. Advanced robots have to cope with many different situations emerging at runtime, while executing complex tasks. They should be programmed as dynamically adaptive systems, capable of adapting themselves to the execution environment, including the computing, user, and physical environment. Recently, dynamic languages are becoming widely used because of the high runtime adaptability they offer. Therefore, we have analyzed the suitability of these languages to implement robotic systems with high runtime adaptability requirements, using Python as case study because of its maturity. To evaluate their suitability, we have implemented a reflective robotics framework that can be programmed in both Java and any dynamic language supported by the standard Java Scripting API. An example scenario has been developed using Python to show how its distinguishing meta-programming features have facilitated the development of runtime-adaptable robotics services. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

The development of service robots has gained more attention over the last years. Advanced robots have to cope with many different situations emerging at runtime, while executing complex tasks. They should be programmed as dynamically adaptive systems, capable of adapting themselves to the execution environment, including the computing, user, and physical environment. Recently, dynamic languages are becoming widely used because of the high runtime adaptability they offer. Therefore, we have analyzed the suitability of these languages to implement robotic systems with high runtime adaptability requirements, using Python as case study because of its maturity. To evaluate their suitability, we have implemented a reflective robotics framework that can be programmed in both Java and any dynamic language supported by the standard Java Scripting API. An example scenario has been developed using Python to show how its distinguishing meta-programming features have facilitated the development of runtime-adaptable robotics services. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2160" xmlns="http://purl.org/rss/1.0/"><title>Talents: an environment for dynamically composing units of reuse</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2160</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Talents: an environment for dynamically composing units of reuse</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jorge Ressia, Tudor Gîrba, Oscar Nierstrasz, Fabrizio Perin, Lukas Renggli</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-10-09T02:11:09.690478-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2160</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2160</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2160</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2160-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Reuse in object-oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer-grained reuse of methods, such as flavors, mixins, and traits. These techniques, however, only deal with reuse at the level of classes. Class-based reuse is inherently static. Increasing use of reflection and meta-programming techniques in real-world applications underlines the need for more dynamic approaches. New approaches have shifted to object-specific reuse. However, these techniques fail to provide a complete solution to the composition issues arising during reuse. We propose a new approach that deals with reuse at the object level and that supports behavioral and state composition. We introduce a new abstraction called a <em>talent</em> that models features that are shared between objects of different class hierarchies. Talents provide a composition mechanism that is as flexible as that of traits but that is dynamic. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Reuse in object-oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer-grained reuse of methods, such as flavors, mixins, and traits. These techniques, however, only deal with reuse at the level of classes. Class-based reuse is inherently static. Increasing use of reflection and meta-programming techniques in real-world applications underlines the need for more dynamic approaches. New approaches have shifted to object-specific reuse. However, these techniques fail to provide a complete solution to the composition issues arising during reuse. We propose a new approach that deals with reuse at the object level and that supports behavioral and state composition. We introduce a new abstraction called a talent that models features that are shared between objects of different class hierarchies. Talents provide a composition mechanism that is as flexible as that of traits but that is dynamic. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2159" xmlns="http://purl.org/rss/1.0/"><title>Effective strategic programming for Java developers</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2159</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Effective strategic programming for Java developers</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Emilie Balland, Pierre-Etienne Moreau, Antoine Reilles</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-10-04T03:00:28.609681-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2159</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2159</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2159</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2159-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In object programming languages, the <em>Visitor</em> design pattern allows separation of algorithms and data structures. When applying this pattern to tree-like structures, programmers are always confronted with the difficulty of making their code evolve. One reason is that the code implementing the algorithm is interwound with the code implementing the traversal inside the visitor. When implementing algorithms such as data analyses or transformations, encoding the traversal directly into the algorithm turns out to be cumbersome as this type of algorithm only focuses on a small part of the data-structure model (e.g., program optimization). Unfortunately, typed programming languages like Java do not offer simple solutions for expressing generic traversals. Rewrite-based languages like ELAN or Stratego have introduced the notion of <em>strategies</em> to express both generic traversal and rule application control in a declarative way. Starting from this approach, our goal was to make the notion of <em>strategic programming</em> available in a widely used language such as Java and thus to offer generic traversals in typed Java structures. In this paper, we present the strategy language <span class="sans-serif ">SL</span> that provides programming support for strategies in Java. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

In object programming languages, the Visitor design pattern allows separation of algorithms and data structures. When applying this pattern to tree-like structures, programmers are always confronted with the difficulty of making their code evolve. One reason is that the code implementing the algorithm is interwound with the code implementing the traversal inside the visitor. When implementing algorithms such as data analyses or transformations, encoding the traversal directly into the algorithm turns out to be cumbersome as this type of algorithm only focuses on a small part of the data-structure model (e.g., program optimization). Unfortunately, typed programming languages like Java do not offer simple solutions for expressing generic traversals. Rewrite-based languages like ELAN or Stratego have introduced the notion of strategies to express both generic traversal and rule application control in a declarative way. Starting from this approach, our goal was to make the notion of strategic programming available in a widely used language such as Java and thus to offer generic traversals in typed Java structures. In this paper, we present the strategy language SL that provides programming support for strategies in Java. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2156" xmlns="http://purl.org/rss/1.0/"><title>An environment for modeling and simulation of message-passing parallel applications for cloud computing</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2156</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">An environment for modeling and simulation of message-passing parallel applications for cloud computing</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saurabh Kumar Garg, Rajkumar Buyya</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-09-28T00:57:44.239731-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2156</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2156</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2156</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2156-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>As Cloud computing is becoming a mainstream platform, it has also become important to understand the implications on customers' applications or systems when deployed on Clouds. Therefore, simulation tools become a critical requirement that not only evaluate the performance of Clouds but also help in developing Cloud computing further. However, current simulation solutions for Clouds do not support many important application paradigms such as message-passing parallel applications. This limits the usage of these solutions to study the deployment of many scientific applications on Clouds. In this paper, after recognizing the needs and requirements of the Cloud research and development community, we propose a Cloud simulation environment with a scalable network and message-passing application model that allows accurate evaluation of scheduling and resource provisioning policies and thus helps in optimizing the performance of a Cloud infrastructure. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

As Cloud computing is becoming a mainstream platform, it has also become important to understand the implications on customers' applications or systems when deployed on Clouds. Therefore, simulation tools become a critical requirement that not only evaluate the performance of Clouds but also help in developing Cloud computing further. However, current simulation solutions for Clouds do not support many important application paradigms such as message-passing parallel applications. This limits the usage of these solutions to study the deployment of many scientific applications on Clouds. In this paper, after recognizing the needs and requirements of the Cloud research and development community, we propose a Cloud simulation environment with a scalable network and message-passing application model that allows accurate evaluation of scheduling and resource provisioning policies and thus helps in optimizing the performance of a Cloud infrastructure. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2154" xmlns="http://purl.org/rss/1.0/"><title>Implementing design patterns in Object Teams</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2154</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Implementing design patterns in Object Teams</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Miguel P. Monteiro, João Gomes</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-09-18T04:56:35.300374-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2154</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2154</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2154</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper presents a study of the support for modularity of Object Teams, an aspect-oriented language backwards compatible with Java. The study is based on implementations in Object Teams of two complete collections of the Gang-of-Four design patterns. An analysis of the implementations is provided, in terms of advantages of Object Teams over Java with respect to modularity, module composition and reuse. We present a systematic comparison with a functionally equivalent collection of implementations in AspectJ, regarding five modularity properties: locality, reusability, composition transparency, (un)pluggability and extensibility. Object Teams yields broadly comparable results in terms of the first four properties. Object Teams yields better results as regards flexible module extensibility, composition at the instance level and enclosing multiple pattern participants into a larger, cohesive module. AspectJ is more successful than Object Teams in the <em>Singleton</em> pattern because of its ability to intercept constructor events. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

This paper presents a study of the support for modularity of Object Teams, an aspect-oriented language backwards compatible with Java. The study is based on implementations in Object Teams of two complete collections of the Gang-of-Four design patterns. An analysis of the implementations is provided, in terms of advantages of Object Teams over Java with respect to modularity, module composition and reuse. We present a systematic comparison with a functionally equivalent collection of implementations in AspectJ, regarding five modularity properties: locality, reusability, composition transparency, (un)pluggability and extensibility. Object Teams yields broadly comparable results in terms of the first four properties. Object Teams yields better results as regards flexible module extensibility, composition at the instance level and enclosing multiple pattern participants into a larger, cohesive module. AspectJ is more successful than Object Teams in the Singleton pattern because of its ability to intercept constructor events. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2155" xmlns="http://purl.org/rss/1.0/"><title>A rule-based approach for availability of service by automated service substitution</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2155</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A rule-based approach for availability of service by automated service substitution</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Qianhui Liang, Bu-Sung Lee, Patrick C. K. Hung</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-09-17T01:20:42.295118-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2155</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2155</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2155</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>High availability of software components has long been studied. For a software system, when unavailability of a component has caused a suspension of the system, the system has to be recovered or resumed as soon as possible. To substitute an unavailable software component with a backup copy is therefore unavoidable in achieving high availability of software systems. In this paper, in comparison with using redundancies, we take an alternative approach that steps away from the physical code equivalence of the software but focuses more on the equivalence in using the function unit without concerning about the implementation itself. We investigate the problem of Web service availability in service-oriented software systems and then report a framework for Web service availability in such systems using automated and rule-based Web service substitution. The framework takes a novel approach to manage the runtime replacement of services, combining (i) an approach that classifies services using co-occurrence of terms in various tags of the service descriptions, (ii) an approach to establish the compatibility and substitution of service operation interfaces and (iii) a middleware for handling service replacements. Our approach is designed to address the problem of Web service availability from the client side and assumes that the client has no control of the Web service providers. This is a completely distributed approach in comparison with other related work and presents a valuable benefit of client orientation. As two additional distinguishing characteristics, our framework also meets the challenges of (i) semantic heterogeneity of Web services in identifying substitute service and (ii) transparency and independence in handling unavailability at the level of Web services. We show in our experiments that the service substitute identification based on the proposed framework achieves a best precision of 85%. We demonstrate our implementation of the middleware for service unavailability handling in the framework. We also present experiments on service substitution within a demo business application in the presence of unavailability. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

High availability of software components has long been studied. For a software system, when unavailability of a component has caused a suspension of the system, the system has to be recovered or resumed as soon as possible. To substitute an unavailable software component with a backup copy is therefore unavoidable in achieving high availability of software systems. In this paper, in comparison with using redundancies, we take an alternative approach that steps away from the physical code equivalence of the software but focuses more on the equivalence in using the function unit without concerning about the implementation itself. We investigate the problem of Web service availability in service-oriented software systems and then report a framework for Web service availability in such systems using automated and rule-based Web service substitution. The framework takes a novel approach to manage the runtime replacement of services, combining (i) an approach that classifies services using co-occurrence of terms in various tags of the service descriptions, (ii) an approach to establish the compatibility and substitution of service operation interfaces and (iii) a middleware for handling service replacements. Our approach is designed to address the problem of Web service availability from the client side and assumes that the client has no control of the Web service providers. This is a completely distributed approach in comparison with other related work and presents a valuable benefit of client orientation. As two additional distinguishing characteristics, our framework also meets the challenges of (i) semantic heterogeneity of Web services in identifying substitute service and (ii) transparency and independence in handling unavailability at the level of Web services. We show in our experiments that the service substitute identification based on the proposed framework achieves a best precision of 85%. We demonstrate our implementation of the middleware for service unavailability handling in the framework. We also present experiments on service substitution within a demo business application in the presence of unavailability. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2146" xmlns="http://purl.org/rss/1.0/"><title>Comparing techniques for authorship attribution of source code</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2146</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Comparing techniques for authorship attribution of source code</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Steven Burrows, Alexandra L. Uitdenbogerd, Andrew Turpin</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-29T04:06:24.353757-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2146</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2146</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2146</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2146-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Attributing authorship of documents with unknown creators has been studied extensively for natural language text such as essays and literature, but less so for non-natural languages such as computer source code. Previous attempts at attributing authorship of source code can be categorised by two attributes: the software features used for the classification, either strings of <em>n</em> tokens/bytes (<em>n</em>-grams) or software metrics; and the classification technique that exploits those features, either information retrieval ranking or machine learning. The results of existing studies, however, are not directly comparable as all use different test beds and evaluation methodologies, making it difficult to assess which approach is superior. This paper summarises all previous techniques to source code authorship attribution, implements feature sets that are motivated by the literature, and applies information retrieval ranking methods or machine classifiers for each approach. Importantly, all approaches are tested on identical collections from varying programming languages and author types. Our conclusions are as follows: (i) ranking and machine classifier approaches are around 90% and 85% accurate, respectively, for a one-in-10 classification problem; (ii) the byte-level <em>n</em>-gram approach is best used with different parameters to those previously published; (iii) neural networks and support vector machines were found to be the most accurate machine classifiers of the eight evaluated; (iv) use of <em>n</em>-gram features in combination with machine classifiers shows promise, but there are scalability problems that still must be overcome; and (v) approaches based on information retrieval techniques are currently more accurate than approaches based on machine learning. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Attributing authorship of documents with unknown creators has been studied extensively for natural language text such as essays and literature, but less so for non-natural languages such as computer source code. Previous attempts at attributing authorship of source code can be categorised by two attributes: the software features used for the classification, either strings of n tokens/bytes (n-grams) or software metrics; and the classification technique that exploits those features, either information retrieval ranking or machine learning. The results of existing studies, however, are not directly comparable as all use different test beds and evaluation methodologies, making it difficult to assess which approach is superior. This paper summarises all previous techniques to source code authorship attribution, implements feature sets that are motivated by the literature, and applies information retrieval ranking methods or machine classifiers for each approach. Importantly, all approaches are tested on identical collections from varying programming languages and author types. Our conclusions are as follows: (i) ranking and machine classifier approaches are around 90% and 85% accurate, respectively, for a one-in-10 classification problem; (ii) the byte-level n-gram approach is best used with different parameters to those previously published; (iii) neural networks and support vector machines were found to be the most accurate machine classifiers of the eight evaluated; (iv) use of n-gram features in combination with machine classifiers shows promise, but there are scalability problems that still must be overcome; and (v) approaches based on information retrieval techniques are currently more accurate than approaches based on machine learning. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2153" xmlns="http://purl.org/rss/1.0/"><title>Detecting and visualizing online dispute dynamics in replying comments</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2153</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Detecting and visualizing online dispute dynamics in replying comments</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yun-Jung Lee, Eun-Kyung Kim, Hwan-Gue Cho, Gyun Woo</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-24T05:01:30.677166-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2153</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2153</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2153</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2153-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In Web-based social media (blogs, Internet forums, etc.), readers express their opinions by attaching reply comments to articles and understand others' perspectives by reading these comments. On Web forums, users discuss and argue with others via reply comments. Thus, a series of comments may provide new information, particularly about disputes among participants. Unfortunately, current systems for viewing reply comments are primitive; it is hard to follow disputes and their relationships by using such systems. We examine the characteristics of disputes by using reply comments and propose a novel system for automatically detecting disputes and their relationships among a large set of reply comments. This paper defines a dispute section as a series of comments where the dispute index is sufficiently high. The dispute index is determined using an exponential model with three control parameters. Next, the dispute relationship can be defined according to a pair of arguing commenters. The basic concept is to exploit the order of comment posting times and comment writer information when detecting dispute sections because the comments tend to appear in ordered pairs. The proposed system detects dispute sections and visualizes them according to dispute relationships among commenters, enabling users to appreciate the controversial structure of comments. To test the performance of our system, we constructed a dataset containing comment sequences associated with 40 articles collected from an Web forum. We constructed the set of dispute comments manually. We found that the detection accuracy of our system for disputes and their relationships were 83% and 78% on average. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

In Web-based social media (blogs, Internet forums, etc.), readers express their opinions by attaching reply comments to articles and understand others' perspectives by reading these comments. On Web forums, users discuss and argue with others via reply comments. Thus, a series of comments may provide new information, particularly about disputes among participants. Unfortunately, current systems for viewing reply comments are primitive; it is hard to follow disputes and their relationships by using such systems. We examine the characteristics of disputes by using reply comments and propose a novel system for automatically detecting disputes and their relationships among a large set of reply comments. This paper defines a dispute section as a series of comments where the dispute index is sufficiently high. The dispute index is determined using an exponential model with three control parameters. Next, the dispute relationship can be defined according to a pair of arguing commenters. The basic concept is to exploit the order of comment posting times and comment writer information when detecting dispute sections because the comments tend to appear in ordered pairs. The proposed system detects dispute sections and visualizes them according to dispute relationships among commenters, enabling users to appreciate the controversial structure of comments. To test the performance of our system, we constructed a dataset containing comment sequences associated with 40 articles collected from an Web forum. We constructed the set of dispute comments manually. We found that the detection accuracy of our system for disputes and their relationships were 83% and 78% on average. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2151" xmlns="http://purl.org/rss/1.0/"><title>Fault-tolerant timestamp-based two-phase commit protocol for RESTful services</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2151</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Fault-tolerant timestamp-based two-phase commit protocol for RESTful services</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Luiz Alexandre Hiane da Silva Maciel, Celso Massaki Hirata</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-14T09:30:35.06687-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2151</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2151</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2151</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Invited Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2151-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Service-oriented architecture provides interoperability and weak coupling features for software development. Representational state transfer (REST) is an architectural style that has attracted attention in the SOA domain as it allows the development of Web services based on original principles of the World Wide Web. Unlike Web service specifications, which are based on Simple Object Access Protocol and Web Services Description Language, REST does not provide ‘official’ standards to address non-functional requirements of services, such as security, reliability, and transaction control. The timestamp-based two-phase commit protocol for RESTful service (TS2PC4RS) algorithm specifies concurrency control of RESTful services during a transaction. An extension of the TS2PC4RS specifies the concurrency control of the Web services considering the update operation to meet some business rules. However, neither algorithm addresses transaction control when failures occur. In long-term transactions, failures can occur and compromise the success of Web service applications. Two common failures traditionally considered in the analysis of protocols are host and connection failures. The aim of this paper is to address fault tolerance for TS2PC4RS and its extension. A fault-tolerant protocol based on timeout and log records is proposed. The fault-tolerant protocol provides support for the host and connection failures that may occur during a transaction execution. The fault-tolerant mechanisms are used to meet the application domain business rules that guide the behavior of RESTful services. We describe the protocol using scenarios when failures occur. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Service-oriented architecture provides interoperability and weak coupling features for software development. Representational state transfer (REST) is an architectural style that has attracted attention in the SOA domain as it allows the development of Web services based on original principles of the World Wide Web. Unlike Web service specifications, which are based on Simple Object Access Protocol and Web Services Description Language, REST does not provide ‘official’ standards to address non-functional requirements of services, such as security, reliability, and transaction control. The timestamp-based two-phase commit protocol for RESTful service (TS2PC4RS) algorithm specifies concurrency control of RESTful services during a transaction. An extension of the TS2PC4RS specifies the concurrency control of the Web services considering the update operation to meet some business rules. However, neither algorithm addresses transaction control when failures occur. In long-term transactions, failures can occur and compromise the success of Web service applications. Two common failures traditionally considered in the analysis of protocols are host and connection failures. The aim of this paper is to address fault tolerance for TS2PC4RS and its extension. A fault-tolerant protocol based on timeout and log records is proposed. The fault-tolerant protocol provides support for the host and connection failures that may occur during a transaction execution. The fault-tolerant mechanisms are used to meet the application domain business rules that guide the behavior of RESTful services. We describe the protocol using scenarios when failures occur. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2152" xmlns="http://purl.org/rss/1.0/"><title>Automatic review identification on the web using pattern recognition</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2152</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Automatic review identification on the web using pattern recognition</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeroen Meer, Flavius Frasincar</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-14T09:25:44.414305-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2152</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2152</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2152</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2152-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper we propose the Automatic Review Recognition and annOtation of Webpages method, which is capable of identifying and annotating user submitted reviews on a Web page. The method consists of six steps: data preparation, page-level pattern identification, subjectivity analysis, container structure analysis, review properties identification, and review annotation. For the evaluation, we have implemented the method and tested it on various review websites. On the basis of the performed evaluation, we conclude that our method is capable of identifying and annotating the majority of reviews. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

In this paper we propose the Automatic Review Recognition and annOtation of Webpages method, which is capable of identifying and annotating user submitted reviews on a Web page. The method consists of six steps: data preparation, page-level pattern identification, subjectivity analysis, container structure analysis, review properties identification, and review annotation. For the evaluation, we have implemented the method and tested it on various review websites. On the basis of the performed evaluation, we conclude that our method is capable of identifying and annotating the majority of reviews. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2150" xmlns="http://purl.org/rss/1.0/"><title>Exploiting tag similarities to discover synonyms and homonyms in folksonomies</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2150</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Exploiting tag similarities to discover synonyms and homonyms in folksonomies</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Davide Eynard, Luca Mazzola, Antonina Dattolo</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-14T02:25:32.114851-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2150</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2150</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2150</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2150-para-0003" xmlns="http://www.w3.org/1999/xhtml"><p>Tag-based systems are widely available, thanks to their intrinsic advantages, such as self-organization, currency, and ease of use. Although they represent a precious source of semantic metadata, their utility is still limited. The inherent lexical ambiguities of tags strongly affect the extraction of structured knowledge and the quality of tag-based recommendation systems. In this paper, we propose a methodology for the analysis of tag-based systems, addressing tag synonymy and homonymy at the same time in a holistic approach: in more detail, we exploit a tripartite graph to reduce the problem of synonyms and homonyms; we apply a customized version of Tag Context Similarity to detect them, overcoming the limitations of current similarity metrics; finally, we propose the application of an overlapping clustering algorithm to detect contexts and homonymies, then evaluate its performances, and introduce a methodology for the interpretation of its results.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Tag-based systems are widely available, thanks to their intrinsic advantages, such as self-organization, currency, and ease of use. Although they represent a precious source of semantic metadata, their utility is still limited. The inherent lexical ambiguities of tags strongly affect the extraction of structured knowledge and the quality of tag-based recommendation systems. In this paper, we propose a methodology for the analysis of tag-based systems, addressing tag synonymy and homonymy at the same time in a holistic approach: in more detail, we exploit a tripartite graph to reduce the problem of synonyms and homonyms; we apply a customized version of Tag Context Similarity to detect them, overcoming the limitations of current similarity metrics; finally, we propose the application of an overlapping clustering algorithm to detect contexts and homonymies, then evaluate its performances, and introduce a methodology for the interpretation of its results.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2148" xmlns="http://purl.org/rss/1.0/"><title>FcgiOCSP: a scalable OCSP-based certificate validation system exploiting the FastCGI interface</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2148</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">FcgiOCSP: a scalable OCSP-based certificate validation system exploiting the FastCGI interface</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Diana Berbecaru, Matteo M. Casalino, Antonio Lioy</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-08-06T06:34:27.105596-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2148</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2148</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2148</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3>
<div class="para" id="spe2148-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Certificate validation, one of the most important and complex tasks in Public Key Infrastructures, is still a challenging topic nowadays because of the scalability and complexity issues related to this process. Validation of an X.509 certificate requires checking its revocation status, either by consulting the so-called Certificate Revocation Lists or by contacting a specific server via the Online Certificate Status Protocol (OCSP). Because more and more entities extensively need to validate the certificates used for various purposes (such as digital signature, server authentication, and secure e-mail), the OCSP servers become overloaded. Thus, an increasing effort is currently dedicated to the creation and management of scalable certificate validation architectures. In this work, we discuss scalability challenges in OCSP-based certificate validation, and we propose a method to evaluate the OCSP server performance in <em>stress</em> conditions. Next, we experimentally measure the performance, expressed in terms of response time and throughput, of some open-source OCSP implementations. Finally, we propose and evaluate our own scalable OCSP-based certificate validation system, named <em>FcgiOCSP</em>, as it exploits the FastCGI interface. Experimental results demonstrate the high performance of FcgiOCSP with respect to other OCSP implementations evaluated in this work. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>

Certificate validation, one of the most important and complex tasks in Public Key Infrastructures, is still a challenging topic nowadays because of the scalability and complexity issues related to this process. Validation of an X.509 certificate requires checking its revocation status, either by consulting the so-called Certificate Revocation Lists or by contacting a specific server via the Online Certificate Status Protocol (OCSP). Because more and more entities extensively need to validate the certificates used for various purposes (such as digital signature, server authentication, and secure e-mail), the OCSP servers become overloaded. Thus, an increasing effort is currently dedicated to the creation and management of scalable certificate validation architectures. In this work, we discuss scalability challenges in OCSP-based certificate validation, and we propose a method to evaluate the OCSP server performance in stress conditions. Next, we experimentally measure the performance, expressed in terms of response time and throughput, of some open-source OCSP implementations. Finally, we propose and evaluate our own scalable OCSP-based certificate validation system, named FcgiOCSP, as it exploits the FastCGI interface. Experimental results demonstrate the high performance of FcgiOCSP with respect to other OCSP implementations evaluated in this work. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2147" xmlns="http://purl.org/rss/1.0/"><title>Methods for selecting and improving software clustering algorithms</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2147</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Methods for selecting and improving software clustering algorithms</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Shtern, Vassilios Tzerpos</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-31T04:26:51.146179-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2147</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2147</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2147</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2147-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Several software clustering algorithms have been proposed in the literature, each with its own strengths and weaknesses. Most of these algorithms have been applied to particular software systems with considerable success. However, no algorithm has been shown to be superior in all cases. As a result, selecting a software clustering algorithm that is best suited for a specific software system remains a hard question to answer. At the same time, improving the effectiveness of an existing algorithm is a time-consuming process that would benefit from a methodology that allowed the early evaluation of an idea. In this paper, we first introduce a formal description template for software clustering algorithms. Based on this template, we propose a novel method for the selection of a software clustering algorithm for specific needs, as well as a method for software clustering algorithm improvement. The applicability and usefulness of the two methods introduced in this paper is demonstrated by applying them in four distinct case studies. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Several software clustering algorithms have been proposed in the literature, each with its own strengths and weaknesses. Most of these algorithms have been applied to particular software systems with considerable success. However, no algorithm has been shown to be superior in all cases. As a result, selecting a software clustering algorithm that is best suited for a specific software system remains a hard question to answer. At the same time, improving the effectiveness of an existing algorithm is a time-consuming process that would benefit from a methodology that allowed the early evaluation of an idea. In this paper, we first introduce a formal description template for software clustering algorithms. Based on this template, we propose a novel method for the selection of a software clustering algorithm for specific needs, as well as a method for software clustering algorithm improvement. The applicability and usefulness of the two methods introduced in this paper is demonstrated by applying them in four distinct case studies. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2137" xmlns="http://purl.org/rss/1.0/"><title>Transformer: an adaptation framework supporting contextual adaptation behavior composition</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2137</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Transformer: an adaptation framework supporting contextual adaptation behavior composition</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ning Gui, Vincenzo De Florio, Tom Holvoet</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-25T04:10:37.890396-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2137</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2137</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2137</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2137-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>As software systems today increasingly operate in changing and complex environments, they are expected to dynamically adapt to the changing environments sometimes with multiple coexisting adaptation goals. In this paper, an adaptation framework to facilitate adaptation with multiple concerns by using reusable and composable adaptation modules is proposed. Rather than using one-size-fits-all approach, in this framework, system global adaptation behavior is generated by contextually fusing adaptation plans from multiple adaptation modules. In order to handle possible conflicts from multiple adaptation plans, supports for conflict detection and resolution are provided. Following the framework design principles, a supporting middleware is implemented based on the service-oriented component model. Adaptation behaviors are realized as individually deployable adaptation components. A strategy called normalized context matching degree is proposed to rate and select applicable adaptation components. Possible conflicts in dealing with multiple adaptation concerns are resolved by using the semantics of actuators and context conditions. This middleware is also designed to be readily reconfigurable to support new features. Case studies and experiment results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation modules, with little complexity and performance overhead. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
As software systems today increasingly operate in changing and complex environments, they are expected to dynamically adapt to the changing environments sometimes with multiple coexisting adaptation goals. In this paper, an adaptation framework to facilitate adaptation with multiple concerns by using reusable and composable adaptation modules is proposed. Rather than using one-size-fits-all approach, in this framework, system global adaptation behavior is generated by contextually fusing adaptation plans from multiple adaptation modules. In order to handle possible conflicts from multiple adaptation plans, supports for conflict detection and resolution are provided. Following the framework design principles, a supporting middleware is implemented based on the service-oriented component model. Adaptation behaviors are realized as individually deployable adaptation components. A strategy called normalized context matching degree is proposed to rate and select applicable adaptation components. Possible conflicts in dealing with multiple adaptation concerns are resolved by using the semantics of actuators and context conditions. This middleware is also designed to be readily reconfigurable to support new features. Case studies and experiment results show that our framework exhibits significant advantage over traditional approaches in light of flexibility and reusability of the adaptation modules, with little complexity and performance overhead. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2141" xmlns="http://purl.org/rss/1.0/"><title>OIntEd: online ontology instance editor enabling a new approach to ontology development</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2141</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">OIntEd: online ontology instance editor enabling a new approach to ontology development</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adianto Wibisono, Ralph Koning, Paola Grosso, Adam Belloum, Marian Bubak, Cees de Laat</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-16T23:03:38.118253-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2141</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2141</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2141</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2141-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Ontology development involves people with different background knowledge and expertise. It is an elaborate process, where sophisticated tools for experienced knowledge engineers are available. However, domain experts need simple tools that they can use to focus on ontology instantiation. In this paper, we propose a methodology with a separation of concern between domain experts and knowledge engineers. This separation allows domain experts to focus on information processing and ontology instantiation while providing immediate feedback to the knowledge engineers on usability of the ontology being developed. We have designed and implemented <span class="smallCaps">OINTED</span>, an adaptive online ontology instance editor that supports this methodology. We present usage examples of <span class="smallCaps">OINTED</span> that highlight three main features: the intuitive visualization of concepts, instances, and relationships within an ontology; the seamless integration in pre-existing problem solving environment; and the assistance in ontology evolution. <span class="smallCaps">OINTED</span> complements existing tools suited for knowledge engineers by enabling immediate feedback and a shorter ontology development life cycle. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Ontology development involves people with different background knowledge and expertise. It is an elaborate process, where sophisticated tools for experienced knowledge engineers are available. However, domain experts need simple tools that they can use to focus on ontology instantiation. In this paper, we propose a methodology with a separation of concern between domain experts and knowledge engineers. This separation allows domain experts to focus on information processing and ontology instantiation while providing immediate feedback to the knowledge engineers on usability of the ontology being developed. We have designed and implemented OINTED, an adaptive online ontology instance editor that supports this methodology. We present usage examples of OINTED that highlight three main features: the intuitive visualization of concepts, instances, and relationships within an ontology; the seamless integration in pre-existing problem solving environment; and the assistance in ontology evolution. OINTED complements existing tools suited for knowledge engineers by enabling immediate feedback and a shorter ontology development life cycle. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2138" xmlns="http://purl.org/rss/1.0/"><title>A refined decompiler to generate C code with high readability</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2138</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A refined decompiler to generate C code with high readability</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gengbiao Chen, Zhengwei Qi, Shiqiu Huang, Kangqi Ni, Yudi Zheng, Walter Binder, Haibing Guan</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-13T01:45:22.193569-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2138</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2138</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2138</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2138-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>As a key part of reverse engineering, decompilation plays a very important role in software security and maintenance. A number of tools, such as Boomerang and IDA Hex_rays, have been developed to translate executable programs into source code in a relatively high-level language. Unfortunately, most existing decompilation tools suffer from low accuracy in identifying variables, functions, and composite structures, resulting in poor readability. To address these limitations, we present a practical decompiler called C-Decompiler for Windows C programs that (i) uses a shadow stack to perform refined data flow analysis, (ii) adopts inter-basic-block register propagation to reduce redundant variables, and (iii) recognizes library (i.e., Standard Template Library) functions by signatures. We evaluate and compare the decompilation quality of C-Decompiler with two existing tools, Boomerang and IDA Hex_rays, considering four aspects: function analysis, variable expansion rate, total percentage reduction, and cyclomatic complexity. Our experimental results show that on average, C-Decompiler has the highest total percentage reduction of 55.91%, lowest variable expansion rate of 55.79%, and the same cyclomatic complexity as the original source code for each considered application. Furthermore, in our experiments, C-Decompiler is able to recognize functions with a lower false positive and false negative rate than the other decompilers. A case study and our evaluation results confirm that C-Decompiler is a practical tool to produce highly readable C-style code. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>As a key part of reverse engineering, decompilation plays a very important role in software security and maintenance. A number of tools, such as Boomerang and IDA Hex_rays, have been developed to translate executable programs into source code in a relatively high-level language. Unfortunately, most existing decompilation tools suffer from low accuracy in identifying variables, functions, and composite structures, resulting in poor readability. To address these limitations, we present a practical decompiler called C-Decompiler for Windows C programs that (i) uses a shadow stack to perform refined data flow analysis, (ii) adopts inter-basic-block register propagation to reduce redundant variables, and (iii) recognizes library (i.e., Standard Template Library) functions by signatures. We evaluate and compare the decompilation quality of C-Decompiler with two existing tools, Boomerang and IDA Hex_rays, considering four aspects: function analysis, variable expansion rate, total percentage reduction, and cyclomatic complexity. Our experimental results show that on average, C-Decompiler has the highest total percentage reduction of 55.91%, lowest variable expansion rate of 55.79%, and the same cyclomatic complexity as the original source code for each considered application. Furthermore, in our experiments, C-Decompiler is able to recognize functions with a lower false positive and false negative rate than the other decompilers. A case study and our evaluation results confirm that C-Decompiler is a practical tool to produce highly readable C-style code. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2140" xmlns="http://purl.org/rss/1.0/"><title>Developing an Eclipse editor for MARC records using Xtext</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2140</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Developing an Eclipse editor for MARC records using Xtext</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bojana Dimić Surla</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-13T01:35:28.019664-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2140</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2140</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2140</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Experience Report</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, we present the idea of developing an editor for MAchine-Readable Cataloguing records that is part of a library management system. The idea was realized and implemented as a part of the library management system BISIS. The objective was to generate an Eclipse plug-in of the editor in an Xtext environment by specifying the Xtext grammar and generating an Eclipse Modelling Framework model of the MAchine-Readable Cataloguing record. The next step was to specify additional features of the editor in the Xtext environment such as content assist and constraints on the record used for checking the correctness of the input. The implementation of additional functionalities of the editor was carried out in the Eclipse plug-in development environment, and user interface components were implemented by using Standard Widget Toolkit and JFace libraries. A special emphasis is placed on the Eclipse extension model that relies on the Open Services Gateway initiative standard and enables efficient implementation of the systems with a component-based, service-oriented architecture. We took advantage of that model and created an extensible and adoptable application that can be used by any database management system and can be integrated in other library management systems. Finally, we discuss a possible way of extracting applications from Eclipse by using Rich Client Platform technology. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>In this paper, we present the idea of developing an editor for MAchine-Readable Cataloguing records that is part of a library management system. The idea was realized and implemented as a part of the library management system BISIS. The objective was to generate an Eclipse plug-in of the editor in an Xtext environment by specifying the Xtext grammar and generating an Eclipse Modelling Framework model of the MAchine-Readable Cataloguing record. The next step was to specify additional features of the editor in the Xtext environment such as content assist and constraints on the record used for checking the correctness of the input. The implementation of additional functionalities of the editor was carried out in the Eclipse plug-in development environment, and user interface components were implemented by using Standard Widget Toolkit and JFace libraries. A special emphasis is placed on the Eclipse extension model that relies on the Open Services Gateway initiative standard and enables efficient implementation of the systems with a component-based, service-oriented architecture. We took advantage of that model and created an extensible and adoptable application that can be used by any database management system and can be integrated in other library management systems. Finally, we discuss a possible way of extracting applications from Eclipse by using Rich Client Platform technology. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2139" xmlns="http://purl.org/rss/1.0/"><title>A review of middleware approaches for energy management in distributed environments</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2139</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A review of middleware approaches for energy management in distributed environments</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adel Noureddine, Romain Rouvoy, Lionel Seinturier</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-07-10T05:55:30.391805-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2139</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2139</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2139</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Survey Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2139-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Energy management solutions and approaches for computer systems are becoming broadly available as energy concerns are becoming mainstream. Many approaches have been proposed to manage the energy consumption of the hardware, operating system, or software layers. The widespread usage of ubiquitous devices and the high coverage of networks (Wi-Fi and 3G) have led to a new generation of communicating and mobile devices that uses complex middleware platform functionalities. Therefore, energy management has emerged as a topic of research interest in the middleware layer, and solutions specific to this layer are proposed along the more traditional ones existing at the other levels. In this article, we report on a review of state-of-the-art approaches for energy management middleware platforms. This article defines also an architectural taxonomy and compares existing approaches on the basis of this taxonomy. In particular, we review middleware platforms and detail a number of approaches where energy management is handled. Finally, we review application scenarios where the energy management concepts at the middleware layer are applied in intelligent environments. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Energy management solutions and approaches for computer systems are becoming broadly available as energy concerns are becoming mainstream. Many approaches have been proposed to manage the energy consumption of the hardware, operating system, or software layers. The widespread usage of ubiquitous devices and the high coverage of networks (Wi-Fi and 3G) have led to a new generation of communicating and mobile devices that uses complex middleware platform functionalities. Therefore, energy management has emerged as a topic of research interest in the middleware layer, and solutions specific to this layer are proposed along the more traditional ones existing at the other levels. In this article, we report on a review of state-of-the-art approaches for energy management middleware platforms. This article defines also an architectural taxonomy and compares existing approaches on the basis of this taxonomy. In particular, we review middleware platforms and detail a number of approaches where energy management is handled. Finally, we review application scenarios where the energy management concepts at the middleware layer are applied in intelligent environments. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2134" xmlns="http://purl.org/rss/1.0/"><title>Validating pragmatic reuse tasks by leveraging existing test suites</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2134</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Validating pragmatic reuse tasks by leveraging existing test suites</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Soha Makady, Robert J. Walker</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-06-19T08:22:05.511879-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2134</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2134</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2134</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2134-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Traditional industrial practice often involves the ad hoc reuse of source code that was not designed for that reuse. Such <em>pragmatic reuse</em> tasks play an important role in <em>disciplined</em> software development. Pragmatic reuse has been seen as problematic due to a lack of systematic support, and an inability to validate that the reused code continues to operate correctly within the target system. Although recent work has successfully systematized support for pragmatic reuse tasks, the issue of validation remains unaddressed. In this paper, we present a novel approach and tool to semi-automatically reuse and transform relevant portions of the test suite associated with pragmatically reused code, as a means to validate that the relevant constraints from the originating system continue to hold, while minimizing the burden on the developer. We conduct a formal experiment with experienced developers, to compare the application of our approach versus the use of a standard IDE (the ‘manual approach’). We find that, relative to the manual approach, our approach: reduces task completion time; improves instruction coverage by the reused test cases; and improves the correctness of the reused test cases. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Traditional industrial practice often involves the ad hoc reuse of source code that was not designed for that reuse. Such pragmatic reuse tasks play an important role in disciplined software development. Pragmatic reuse has been seen as problematic due to a lack of systematic support, and an inability to validate that the reused code continues to operate correctly within the target system. Although recent work has successfully systematized support for pragmatic reuse tasks, the issue of validation remains unaddressed. In this paper, we present a novel approach and tool to semi-automatically reuse and transform relevant portions of the test suite associated with pragmatically reused code, as a means to validate that the relevant constraints from the originating system continue to hold, while minimizing the burden on the developer. We conduct a formal experiment with experienced developers, to compare the application of our approach versus the use of a standard IDE (the ‘manual approach’). We find that, relative to the manual approach, our approach: reduces task completion time; improves instruction coverage by the reused test cases; and improves the correctness of the reused test cases. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2136" xmlns="http://purl.org/rss/1.0/"><title>Fuel: a fast general purpose object graph serializer</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2136</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Fuel: a fast general purpose object graph serializer</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Martín Dias, Mariano Martinez Peck, Stéphane Ducasse, Gabriela Arévalo</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-06-19T08:06:14.846563-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2136</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2136</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2136</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2136-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Because objects need to be stored and reloaded on different environments, serializing object graphs is a very important activity. There is a plethora of serialization frameworks with different requirements and design trade-offs. Most of them are based on recursive parsing of the object graphs, an approach which often is too slow. In addition, most of them prioritize a language-agnostic format instead of speed and language-specific object serialization. For the same reason, such serializers usually do not support features such as class-shape changes, global references or executing pre and post load actions. Looking for speed, some frameworks are partially implemented at <em>Virtual Machine</em> (VM) level, hampering code portability and making them difficult to understand, maintain and extend.</p></div><div class="para" id="spe2136-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, we present Fuel, a general-purpose object serializer based on these principles: (1) speed, through a compact binary format and a pickling algorithm which invests time in serialization for obtaining the best performance on materialization; (2) good object-oriented design, without special help at VM; and (3) serialize any object, thus have a full-featured language-specific format.</p></div><div class="para" id="spe2136-para-0003" xmlns="http://www.w3.org/1999/xhtml"><p>We implement and validate this approach in Pharo, where we demonstrate that Fuel is faster than other serializers, even those with special VM support. The extensibility of Fuel made possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full content management system object graphs. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Because objects need to be stored and reloaded on different environments, serializing object graphs is a very important activity. There is a plethora of serialization frameworks with different requirements and design trade-offs. Most of them are based on recursive parsing of the object graphs, an approach which often is too slow. In addition, most of them prioritize a language-agnostic format instead of speed and language-specific object serialization. For the same reason, such serializers usually do not support features such as class-shape changes, global references or executing pre and post load actions. Looking for speed, some frameworks are partially implemented at Virtual Machine (VM) level, hampering code portability and making them difficult to understand, maintain and extend.In this paper, we present Fuel, a general-purpose object serializer based on these principles: (1) speed, through a compact binary format and a pickling algorithm which invests time in serialization for obtaining the best performance on materialization; (2) good object-oriented design, without special help at VM; and (3) serialize any object, thus have a full-featured language-specific format.We implement and validate this approach in Pharo, where we demonstrate that Fuel is faster than other serializers, even those with special VM support. The extensibility of Fuel made possible to successfully serialize various objects: classes in Newspeak, debugger stacks, and full content management system object graphs. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2135" xmlns="http://purl.org/rss/1.0/"><title>Wirebrush4SPAM: a novel framework for improving efficiency on spam filtering services</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2135</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Wirebrush4SPAM: a novel framework for improving efficiency on spam filtering services</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">N. Pérez-Díaz, D. Ruano-Ordas, F. Fdez-Riverola, J.R. Méndez</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-06-18T07:41:07.456375-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2135</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2135</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2135</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>This paper introduces Wirebrush4SPAM, a plug-in-based C framework specifically designed for the development of fast spam filters by assembling different antispam schemes and techniques. Wirebrush4SPAM can be used to (i) build, execute and deploy simple spam filters and (ii) develop new techniques that can be easily combined and tested to achieve more accurate antispam models. To construct custom filters, programmers should manage three key concepts: filtering functions, parsers and event listeners. The main features of Wirebrush4SPAM include (i) a plug-in-based design, (ii) cache support for developing new plug-ins, (iii) a smart filter evaluation heuristic for improving filter execution, (iv) configurable rule scheduling and (v) support for domain specific rules. Moreover, Wirebrush4SPAM is 10 times faster than SpamAssassin, which stands for the most popular and highly extensible framework for spam filtering. Wirebrush4SPAM is an open-source project licensed under the terms of GNU lesser general public license and both source code and documentation are publicly available at <!--TODO: clickthrough URL--><a href="http://www.wb4spam.org/" title="Link to external resource: http://www.wb4spam.org/">http://www.wb4spam.org/</a>. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>This paper introduces Wirebrush4SPAM, a plug-in-based C framework specifically designed for the development of fast spam filters by assembling different antispam schemes and techniques. Wirebrush4SPAM can be used to (i) build, execute and deploy simple spam filters and (ii) develop new techniques that can be easily combined and tested to achieve more accurate antispam models. To construct custom filters, programmers should manage three key concepts: filtering functions, parsers and event listeners. The main features of Wirebrush4SPAM include (i) a plug-in-based design, (ii) cache support for developing new plug-ins, (iii) a smart filter evaluation heuristic for improving filter execution, (iv) configurable rule scheduling and (v) support for domain specific rules. Moreover, Wirebrush4SPAM is 10 times faster than SpamAssassin, which stands for the most popular and highly extensible framework for spam filtering. Wirebrush4SPAM is an open-source project licensed under the terms of GNU lesser general public license and both source code and documentation are publicly available at http://www.wb4spam.org/. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2132" xmlns="http://purl.org/rss/1.0/"><title>crimsonHex: a learning objects repository for programming exercises </title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2132</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">crimsonHex: a learning objects repository for programming exercises </dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ricardo Queirós, José Paulo Leal</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-06-13T03:28:04.088368-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2132</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2132</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2132</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>A repository of learning objects is a system that stores electronic resources in a technology-mediated learning process. The need for this kind of repository is growing as more educators become eager to use digital educational contents and more of it becomes available. The sharing and use of these resources relies on the use of content and communication standards as a means to describe and exchange educational resources, commonly known as learning objects. This paper presents the design and implementation of a service-oriented repository of learning objects called crimsonHex. This repository supports new definitions of learning objects for specialized domains and we illustrate this feature with the definition of programming exercises as learning objects and its validation by the repository. The repository is also fully compliant with existing communication standards and we propose extensions by adding new functions, formalizing message interchange and providing a REST interface. To validate the interoperability features of the repository, we developed a repository plug-in for Moodle that is expected to be included in the next release of this popular learning management system. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A repository of learning objects is a system that stores electronic resources in a technology-mediated learning process. The need for this kind of repository is growing as more educators become eager to use digital educational contents and more of it becomes available. The sharing and use of these resources relies on the use of content and communication standards as a means to describe and exchange educational resources, commonly known as learning objects. This paper presents the design and implementation of a service-oriented repository of learning objects called crimsonHex. This repository supports new definitions of learning objects for specialized domains and we illustrate this feature with the definition of programming exercises as learning objects and its validation by the repository. The repository is also fully compliant with existing communication standards and we propose extensions by adding new functions, formalizing message interchange and providing a REST interface. To validate the interoperability features of the repository, we developed a repository plug-in for Moodle that is expected to be included in the next release of this popular learning management system. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2133" xmlns="http://purl.org/rss/1.0/"><title>Threat-oriented security framework in risk management using multiagent system</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2133</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Threat-oriented security framework in risk management using multiagent system</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Punam Bedi, Vandana Gandotra, Archana Singhal, Himanshi Narang, Sumit Sharma</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-06-07T04:10:57.610187-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2133</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2133</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2133</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2133-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Present day sophisticated and innovative attacks have resulted in exponentially increasing security problems. This paper therefore presents a three-phased threat-oriented security model to meet the above security challenges as a part of proactive risk management. This model is based on a spiral process for software development because it is a risk driven approach and provides an incremental method for a progressively growing system with decreasing risk. Integration of threat management during the development process in the proposed work provides necessary security cover against both unforeseen and known threats. Identification of these threats has been made possible by fusion of a threat modeling process and research honeytokens in conjunction with a statistical model in the first phase. Necessary security measures to mitigate the above identified threats have been adopted in the second phase using multiagent system planning. Risk reduction as a result of adoption of countermeasures has been evaluated in the third phase using meta-agents in association with fuzzy logic in a multiagent environment. The proposed proactive measures of this model have been demonstrated with a case study on ‘Online Banking’ to show its feasibility and has been implemented using Java Agent Development Environment, Apache Tomcat Server, with MySQL Server at the backend. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Present day sophisticated and innovative attacks have resulted in exponentially increasing security problems. This paper therefore presents a three-phased threat-oriented security model to meet the above security challenges as a part of proactive risk management. This model is based on a spiral process for software development because it is a risk driven approach and provides an incremental method for a progressively growing system with decreasing risk. Integration of threat management during the development process in the proposed work provides necessary security cover against both unforeseen and known threats. Identification of these threats has been made possible by fusion of a threat modeling process and research honeytokens in conjunction with a statistical model in the first phase. Necessary security measures to mitigate the above identified threats have been adopted in the second phase using multiagent system planning. Risk reduction as a result of adoption of countermeasures has been evaluated in the third phase using meta-agents in association with fuzzy logic in a multiagent environment. The proposed proactive measures of this model have been demonstrated with a case study on ‘Online Banking’ to show its feasibility and has been implemented using Java Agent Development Environment, Apache Tomcat Server, with MySQL Server at the backend. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2130" xmlns="http://purl.org/rss/1.0/"><title>DiaSim: a simulator for pervasive computing applications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2130</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">DiaSim: a simulator for pervasive computing applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julien Bruneau, Charles Consel</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-05-14T11:16:11.689924-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2130</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2130</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2130</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended conference paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2130-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Pervasive computing applications involve both software concerns, such as any software system, and integration concerns, for the constituent networked devices of the pervasive computing environment. This situation is problematic for testing because it requires acquiring, testing, and interfacing a variety of software and hardware entities. This process can rapidly become costly and time-consuming when the target environment involves many entities.</p></div><div class="para" id="spe2130-para-0003" xmlns="http://www.w3.org/1999/xhtml"><p>This paper introduces DiaSim, a simulator for pervasive computing applications. To cope with widely heterogeneous entities, DiaSim is parameterized with respect to a description of a target pervasive computing environment. This description is used to generate both a programming framework to develop the simulation logic and an emulation layer to execute applications. Furthermore, a simulation renderer is coupled to DiaSim to allow a simulated pervasive system to be visually monitored and debugged.</p></div><div class="para" id="spe2130-para-0004" xmlns="http://www.w3.org/1999/xhtml"><p>DiaSim has been implemented and used to simulate various pervasive computing systems in different application areas, demonstrating the generality of our parameterized approach. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Pervasive computing applications involve both software concerns, such as any software system, and integration concerns, for the constituent networked devices of the pervasive computing environment. This situation is problematic for testing because it requires acquiring, testing, and interfacing a variety of software and hardware entities. This process can rapidly become costly and time-consuming when the target environment involves many entities.This paper introduces DiaSim, a simulator for pervasive computing applications. To cope with widely heterogeneous entities, DiaSim is parameterized with respect to a description of a target pervasive computing environment. This description is used to generate both a programming framework to develop the simulation logic and an emulation layer to execute applications. Furthermore, a simulation renderer is coupled to DiaSim to allow a simulated pervasive system to be visually monitored and debugged.DiaSim has been implemented and used to simulate various pervasive computing systems in different application areas, demonstrating the generality of our parameterized approach. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2117" xmlns="http://purl.org/rss/1.0/"><title>PHANtom: a modern aspect language for Pharo Smalltalk </title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2117</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">PHANtom: a modern aspect language for Pharo Smalltalk </dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johan Fabry, Daniel Galdames</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-03-19T01:46:58.929207-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2117</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2117</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2117</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2117-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>In the context of our research on Aspect-Oriented Programming, we have a need for a modern and powerful aspect language for Smalltalk. Current aspect languages for Smalltalk however fall short on various points. To address this deficit, we elected to design and build PHANtom: a modern aspect language for Pharo Smalltalk. PHANtom is designed to be an aspect language in the spirit of Smalltalk: dynamic, simple, and powerful. PHANtom is a modern aspect language because it incorporates the best features of languages that precede it, includes recent research results in aspect interactions and reentrancy control, and is designed from the onset to be optimized and compiled where possible. In this paper, we present the latest version of the language and give examples and patterns of use.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>In the context of our research on Aspect-Oriented Programming, we have a need for a modern and powerful aspect language for Smalltalk. Current aspect languages for Smalltalk however fall short on various points. To address this deficit, we elected to design and build PHANtom: a modern aspect language for Pharo Smalltalk. PHANtom is designed to be an aspect language in the spirit of Smalltalk: dynamic, simple, and powerful. PHANtom is a modern aspect language because it incorporates the best features of languages that precede it, includes recent research results in aspect interactions and reentrancy control, and is designed from the onset to be optimized and compiled where possible. In this paper, we present the latest version of the language and give examples and patterns of use.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2115" xmlns="http://purl.org/rss/1.0/"><title>Guest editor's introduction to the special section on TAIC-PART 2010 – Testing: Academic and Industrial Conference-Practice and Research Techniques</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2115</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Guest editor's introduction to the special section on TAIC-PART 2010 – Testing: Academic and Industrial Conference-Practice and Research Techniques</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anthony J H Simons, Gordon Fraser, Leonardo Bottaci</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-03-13T00:41:50.723843-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2115</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2115</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2115</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1142" xmlns="http://purl.org/rss/1.0/"><title>On the use of mutations and testing for debugging</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1142</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">On the use of mutations and testing for debugging</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mihai Nica, Simona Nica, Franz Wotawa</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-02-16T05:08:31.098974-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1142</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1142</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1142</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1142-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Tools for automated fault localization usually generate too many bug candidates depending on the underlying technique. Hence, more information is required in order to further restrict the number of bug candidates. Approaches that rely on specific knowledge of the program to be debugged, such as variable values at specific positions in the source code, are not easily accessible for users especially in the case of software maintenance. In order to avoid this problem, we suggest integrating testing to restrict the number of bug candidates. In particular, we propose computing possible corrections of the program and from this distinguishing test cases. A distinguishing test case is a test that reveals different output values for two program variants given the same input values. Besides the formal definitions and algorithms, we extend the first empirical results of our approach in this paper. The obtained empirical results show that the use of mutations and distinguishing test cases reduces the number of bug candidates by more than 90% on average. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Tools for automated fault localization usually generate too many bug candidates depending on the underlying technique. Hence, more information is required in order to further restrict the number of bug candidates. Approaches that rely on specific knowledge of the program to be debugged, such as variable values at specific positions in the source code, are not easily accessible for users especially in the case of software maintenance. In order to avoid this problem, we suggest integrating testing to restrict the number of bug candidates. In particular, we propose computing possible corrections of the program and from this distinguishing test cases. A distinguishing test case is a test that reveals different output values for two program variants given the same input values. Besides the formal definitions and algorithms, we extend the first empirical results of our approach in this paper. The obtained empirical results show that the use of mutations and distinguishing test cases reduces the number of bug candidates by more than 90% on average. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2108" xmlns="http://purl.org/rss/1.0/"><title>Linguistic security testing for text communication protocols</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2108</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Linguistic security testing for text communication protocols</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben W.Y. Kam, Thomas R. Dean</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-25T04:06:29.823855-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2108</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2108</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2108</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2108-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>We introduce a new Syntax-based Security Testing framework that uses a protocol specification to perform security testing on text-based communication protocols. A protocol specification of a particular text-based protocol under test represents its syntactic grammar and static constraints. The specification is used to generate test cases by mutating valid messages, breaking the syntax and constraints of the protocol. The framework is demonstrated using a toy web application and the open source application KOrganizer.Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>We introduce a new Syntax-based Security Testing framework that uses a protocol specification to perform security testing on text-based communication protocols. A protocol specification of a particular text-based protocol under test represents its syntactic grammar and static constraints. The specification is used to generate test cases by mutating valid messages, breaking the syntax and constraints of the protocol. The framework is demonstrated using a toy web application and the open source application KOrganizer.Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2104" xmlns="http://purl.org/rss/1.0/"><title>Focus section on program debugging</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2104</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Focus section on program debugging</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">T. H. Tse</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-01-16T04:29:20.405734-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2104</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2104</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2104</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Editorial</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1132" xmlns="http://purl.org/rss/1.0/"><title>Ontology patterns for service-oriented software development</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1132</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Ontology patterns for service-oriented software development</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wei-Tek Tsai, Budan Wu, Zhi Jin, Yu Huang, Wu Li</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-12-09T00:41:29.37412-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1132</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1132</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1132</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1132-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Modern software often uses ontologies as its key component to store data and their relationships. This is different from using an ontology as a stand-alone tool for knowledge sharing and representation. The ontology component needs to work with other software components and needs to evolve as the software evolves. Ontology design has been a research topic for years; however, most of these studies focus on using ontologies as stand-alone applications. This paper studies ontology patterns that can be applied to design ontologies as an integral part of a service-oriented application. The paper first briefly reviews various ontology design issues including a brief survey of existing ontology design patterns. The paper then outlines general principles for using ontologies in software applications, including the needs to incorporate ontology design process as a part of software development processes, design ontologies as a component of an overall software architecture, and use ontologies to enhance software evolution and the role that ontologies can play in software validation. The paper then proposes some common ontology patterns that can be used to design ontologies in service-oriented applications. This is followed by examining two international projects, SENSEI and FCINT, where ontologies are used in service-oriented applications and several ontology design patterns are used. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Modern software often uses ontologies as its key component to store data and their relationships. This is different from using an ontology as a stand-alone tool for knowledge sharing and representation. The ontology component needs to work with other software components and needs to evolve as the software evolves. Ontology design has been a research topic for years; however, most of these studies focus on using ontologies as stand-alone applications. This paper studies ontology patterns that can be applied to design ontologies as an integral part of a service-oriented application. The paper first briefly reviews various ontology design issues including a brief survey of existing ontology design patterns. The paper then outlines general principles for using ontologies in software applications, including the needs to incorporate ontology design process as a part of software development processes, design ontologies as a component of an overall software architecture, and use ontologies to enhance software evolution and the role that ontologies can play in software validation. The paper then proposes some common ontology patterns that can be used to design ontologies in service-oriented applications. This is followed by examining two international projects, SENSEI and FCINT, where ontologies are used in service-oriented applications and several ontology design patterns are used. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1146" xmlns="http://purl.org/rss/1.0/"><title>A consensus-based strategy to improve the quality of fault localization</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1146</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A consensus-based strategy to improve the quality of fault localization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vidroha Debroy, W. Eric Wong</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-28T01:18:07.134964-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1146</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1146</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1146</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1146-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>A vast number of software fault localization techniques have been proposed recently with the growing realization that manual debugging is time-consuming, tedious, and error-prone, and fault localization is one of the most expensive debugging activities. Although some techniques perform better than others on a large number of data sets, they do not do so on all data sets and therefore, the actual quality of fault localization can vary considerably by using just one technique. This paper proposes the use of a consensus-based strategy that combines the results of multiple fault localization techniques to consistently provide high quality performance, irrespective of data set. Empirical evidence based on case studies conducted on six sets of programs (seven programs of the Siemens suite, and the gzip, grep, make, space, and Ant programs) and three different fault localization techniques (Tarantula, Ochiai, and H3) suggests that the consensus-based strategy holds merit and generally provides close to the best, if not the best, results. Empirically, we show that this is true of both single-fault and multifault programs. Additionally, the consensus-based strategy makes use of techniques that all operate on the same set of input data, minimizing the overhead. It is also simple to include or exclude techniques from consensus, making it an easily extensible or tractable strategy. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A vast number of software fault localization techniques have been proposed recently with the growing realization that manual debugging is time-consuming, tedious, and error-prone, and fault localization is one of the most expensive debugging activities. Although some techniques perform better than others on a large number of data sets, they do not do so on all data sets and therefore, the actual quality of fault localization can vary considerably by using just one technique. This paper proposes the use of a consensus-based strategy that combines the results of multiple fault localization techniques to consistently provide high quality performance, irrespective of data set. Empirical evidence based on case studies conducted on six sets of programs (seven programs of the Siemens suite, and the gzip, grep, make, space, and Ant programs) and three different fault localization techniques (Tarantula, Ochiai, and H3) suggests that the consensus-based strategy holds merit and generally provides close to the best, if not the best, results. Empirically, we show that this is true of both single-fault and multifault programs. Additionally, the consensus-based strategy makes use of techniques that all operate on the same set of input data, minimizing the overhead. It is also simple to include or exclude techniques from consensus, making it an easily extensible or tractable strategy. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1131" xmlns="http://purl.org/rss/1.0/"><title>A pattern language for developing privacy enhancing technologies</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1131</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A pattern language for developing privacy enhancing technologies</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Munawar Hafiz</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-28T01:11:36.280194-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1131</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1131</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1131</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>A privacy enhancing technology (PET) is an application or a mechanism that allows users to protect the privacy of their personally identifiable information. Early PETs were about enabling anonymous mailing and anonymous browsing, but lately, there have been active research and development efforts in many other problem domains. This paper describes the first pattern language for developing PETs. Currently, it contains 12 patterns. These privacy patterns are not limited to a specific problem domain; they can be applied to design anonymity systems for various types of online communication, online data sharing, location monitoring, voting, and electronic cash management. The pattern language guides a developer when he or she is designing a PET for an existing problem or innovating a solution for a new problem. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>A privacy enhancing technology (PET) is an application or a mechanism that allows users to protect the privacy of their personally identifiable information. Early PETs were about enabling anonymous mailing and anonymous browsing, but lately, there have been active research and development efforts in many other problem domains. This paper describes the first pattern language for developing PETs. Currently, it contains 12 patterns. These privacy patterns are not limited to a specific problem domain; they can be applied to design anonymity systems for various types of online communication, online data sharing, location monitoring, voting, and electronic cash management. The pattern language guides a developer when he or she is designing a PET for an existing problem or innovating a solution for a new problem. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1117" xmlns="http://purl.org/rss/1.0/"><title>Software patterns catalog based on a new classification scheme</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1117</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Software patterns catalog based on a new classification scheme</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sargon Hasso, R.C. Carlson</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-25T05:09:04.952277-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1117</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1117</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1117</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1117-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>There are many software pattern catalogs that exist in the published literature today, but none of them uses a consistent classification technique that results in evolving and extensible pattern catalog. We have created a new classification scheme and used it as the basis for constructing a software pattern catalog. It is a uniform approach for creating, maintaining, and expanding the catalog. We present a brief overview of the classification scheme, describe the resulting catalog and the principles underlying its construction, show how to use the catalog, and demonstrate some of its benefits for software designers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>There are many software pattern catalogs that exist in the published literature today, but none of them uses a consistent classification technique that results in evolving and extensible pattern catalog. We have created a new classification scheme and used it as the basis for constructing a software pattern catalog. It is a uniform approach for creating, maintaining, and expanding the catalog. We present a brief overview of the classification scheme, describe the resulting catalog and the principles underlying its construction, show how to use the catalog, and demonstrate some of its benefits for software designers. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1147" xmlns="http://purl.org/rss/1.0/"><title>In quest of the science in statistical fault localization</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1147</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">In quest of the science in statistical fault localization</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">W. K. Chan, Yan Cai</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-11-11T07:05:46.157086-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1147</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1147</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1147</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1147-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Many researchers employ various statistical methods to locate faults in faulty programs. Like other researchers, we sometimes have made mistakes in the quest of making statistical fault localization both practical and scientific. In this experience report, we reflect on our work conducted on this topic, organize our isolated experiences in the format of models and errors, and cast them in the context of statistics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Many researchers employ various statistical methods to locate faults in faulty programs. Like other researchers, we sometimes have made mistakes in the quest of making statistical fault localization both practical and scientific. In this experience report, we reflect on our work conducted on this topic, organize our isolated experiences in the format of models and errors, and cast them in the context of statistics. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1121" xmlns="http://purl.org/rss/1.0/"><title>The use of pattern participants relationships for integrating patterns: a controlled experiment</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1121</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The use of pattern participants relationships for integrating patterns: a controlled experiment</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ahmad Waqas Kamal, Paris Avgeriou, Uwe Zdun</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-20T02:24:15.725684-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1121</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1121</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1121</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1121-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Architectural patterns are often applied in combination with related patterns within software architectures. The relationships among architectural patterns must be considered when applying a combination of patterns into a system; for example the way the Model-View-Controller uses the Observer pattern to implement the change propagation mechanism needs to be carefully designed. However, effective integration of architectural patterns within software architectures remains a challenging task. This is because the integration of any two architectural patterns can take several forms. Furthermore, existing pattern languages define generic and abstract relationships between architectural patterns without going into detail about associations among the participants of architectural patterns. In this paper, we propose to address the pattern integration issue by discovering and defining a set of pattern participants relationships that serve the purpose of effectively integrating architectural patterns. Our findings are validated through a controlled experiment, which provides significant evidence that the proposed relationships support inexperienced designers in integrating patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Architectural patterns are often applied in combination with related patterns within software architectures. The relationships among architectural patterns must be considered when applying a combination of patterns into a system; for example the way the Model-View-Controller uses the Observer pattern to implement the change propagation mechanism needs to be carefully designed. However, effective integration of architectural patterns within software architectures remains a challenging task. This is because the integration of any two architectural patterns can take several forms. Furthermore, existing pattern languages define generic and abstract relationships between architectural patterns without going into detail about associations among the participants of architectural patterns. In this paper, we propose to address the pattern integration issue by discovering and defining a set of pattern participants relationships that serve the purpose of effectively integrating architectural patterns. Our findings are validated through a controlled experiment, which provides significant evidence that the proposed relationships support inexperienced designers in integrating patterns. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1126" xmlns="http://purl.org/rss/1.0/"><title>Designing future-context-aware dynamic applications with structured context prediction</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1126</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Designing future-context-aware dynamic applications with structured context prediction</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sonja Zaplata, Matthias Meiners, Winfried Lamersdorf</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T07:55:57.063731-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1126</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1126</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1126</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1126-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Middleware support for advanced pervasive applications includes dealing with <em>heterogeneous systems</em> and <em>dynamic changes</em> of execution environments. If applications are <em>context aware</em>, they are able to detect such changes at runtime and react to them accordingly. Furthermore, they can also <em>proactively</em> adapt to upcoming situations by making accurate assumptions about future contexts. However, the design of reusable middleware support for such <em>future-context-aware</em> applications is still challenging as a supporting prediction system has to be generic, but at the same time has to provide potential for high accuracy and efficiency.</p></div><div class="para" id="spe1126-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>This paper proposes a concept for the development of future-context-aware applications on the basis of the novel approach of <em>structured context prediction</em>. As a framework, this approach allows for integrating domain-specific knowledge and facilitates application, combination, and implementation of suitable prediction methods. In addition, specific runtime mechanisms for distribution of knowledge and adaptation of prediction tasks are proposed, which enable useful context predictions even for dynamic applications. The overall development process as well as practical experiments with the prototype framework is illustrated by two use case scenarios—demonstrating that both high accuracy and efficiency of future context predictions are achievable and even ad hoc context predictions can be supported this way. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Middleware support for advanced pervasive applications includes dealing with heterogeneous systems and dynamic changes of execution environments. If applications are context aware, they are able to detect such changes at runtime and react to them accordingly. Furthermore, they can also proactively adapt to upcoming situations by making accurate assumptions about future contexts. However, the design of reusable middleware support for such future-context-aware applications is still challenging as a supporting prediction system has to be generic, but at the same time has to provide potential for high accuracy and efficiency.This paper proposes a concept for the development of future-context-aware applications on the basis of the novel approach of structured context prediction. As a framework, this approach allows for integrating domain-specific knowledge and facilitates application, combination, and implementation of suitable prediction methods. In addition, specific runtime mechanisms for distribution of knowledge and adaptation of prediction tasks are proposed, which enable useful context predictions even for dynamic applications. The overall development process as well as practical experiments with the prototype framework is illustrated by two use case scenarios—demonstrating that both high accuracy and efficiency of future context predictions are achievable and even ad hoc context predictions can be supported this way. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1128" xmlns="http://purl.org/rss/1.0/"><title>Policy-driven customization of cross-organizational features in distributed service systems</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1128</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Policy-driven customization of cross-organizational features in distributed service systems</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Stefan Walraven, Bert Lagaisse, Eddy Truyen, Wouter Joosen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T06:24:36.93388-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1128</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1128</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1128</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1128-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In a cross-organizational context, software services are provided and consumed by different organizations. Ensuring that the non-functional requirements of all the involved organizations are satisfied is hard to achieve in such a distributed and heterogeneous environment: the implementation of features, for example, security, is scattered across the services of multiple organizations. In this paper, we present a coordination architecture for flexible and policy-driven composition of cross-organizational features in distributed service systems. The underlying approach of this architecture is to specify the features and their composition at a higher level that abstracts the internal implementation mechanisms of the organizations involved. By means of feature composition policies, the organizations specify at a fine-grained level which features are required and when they have to apply. Driven by these policies, our coordination middleware dynamically integrates the appropriate features throughout the cross-organizational service composition in a consistent and efficient way. We have validated our architecture in a proof of concept showing limited performance overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>In a cross-organizational context, software services are provided and consumed by different organizations. Ensuring that the non-functional requirements of all the involved organizations are satisfied is hard to achieve in such a distributed and heterogeneous environment: the implementation of features, for example, security, is scattered across the services of multiple organizations. In this paper, we present a coordination architecture for flexible and policy-driven composition of cross-organizational features in distributed service systems. The underlying approach of this architecture is to specify the features and their composition at a higher level that abstracts the internal implementation mechanisms of the organizations involved. By means of feature composition policies, the organizations specify at a fine-grained level which features are required and when they have to apply. Driven by these policies, our coordination middleware dynamically integrates the appropriate features throughout the cross-organizational service composition in a consistent and efficient way. We have validated our architecture in a proof of concept showing limited performance overhead. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1127" xmlns="http://purl.org/rss/1.0/"><title>CoFeed: privacy-preserving Web search recommendation based on collaborative aggregation of interest feedback</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1127</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">CoFeed: privacy-preserving Web search recommendation based on collaborative aggregation of interest feedback</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pascal Felber, Peter Kropf, Lorenzo Leonini, Toan Luu, Martin Rajman, Etienne Rivière, Valerio Schiavoni, José Valerio</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-06T02:40:00.969912-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1127</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1127</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1127</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Search engines essentially rely on the structure of the graph of hyperlinks. Although accurate for the main trend, this is not effective when some query is ambiguous. Leveraging semantic information by the mean of interest matching allows proposing complementary results that are tailored to the user's expectations. This paper proposes a collaborative search companion system, CoFeed, that collects user search queries and that considers feedback to build user-centric and document-centric profiling information. Over time, the system constructs ranked collections of elements that maintain the required <em>information diversity</em> and enhance the user search experience by presenting additional results tailored to the user's interest space. This collaborative search companion requires a supporting architecture adapted to large user populations generating high request loads. To that end, it integrates mechanisms for ensuring scalability and load balancing of the service under varying loads and user interest distributions. Moreover, collecting the recommendation data poses the problem of users’ privacy, and the bias one peer can induce to the system by sending fake recommendations. To that end, CoFeed ensures both publisher anonymity and rate limitation. With the former, the origin of the data is never known by the server that processes it, even if several servers collude to spy on some user. The latter, combined with decoupled authentication, allows to minimize the influence of cheating peers sending fake recommendations. Experiments with a deployed prototype highlight the efficiency of the system by analyzing improvement in search relevance, computational cost, scalability and load balancing. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Search engines essentially rely on the structure of the graph of hyperlinks. Although accurate for the main trend, this is not effective when some query is ambiguous. Leveraging semantic information by the mean of interest matching allows proposing complementary results that are tailored to the user's expectations. This paper proposes a collaborative search companion system, CoFeed, that collects user search queries and that considers feedback to build user-centric and document-centric profiling information. Over time, the system constructs ranked collections of elements that maintain the required information diversity and enhance the user search experience by presenting additional results tailored to the user's interest space. This collaborative search companion requires a supporting architecture adapted to large user populations generating high request loads. To that end, it integrates mechanisms for ensuring scalability and load balancing of the service under varying loads and user interest distributions. Moreover, collecting the recommendation data poses the problem of users’ privacy, and the bias one peer can induce to the system by sending fake recommendations. To that end, CoFeed ensures both publisher anonymity and rate limitation. With the former, the origin of the data is never known by the server that processes it, even if several servers collude to spy on some user. The latter, combined with decoupled authentication, allows to minimize the influence of cheating peers sending fake recommendations. Experiments with a deployed prototype highlight the efficiency of the system by analyzing improvement in search relevance, computational cost, scalability and load balancing. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1125" xmlns="http://purl.org/rss/1.0/"><title>The DigiHome Service-Oriented Platform</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1125</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">The DigiHome Service-Oriented Platform</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Romero, Gabriel Hermosillo, Amirhosein Taherkordi, Russel Nzekwa, Romain Rouvoy, Frank Eliassen</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-04T01:10:52.184391-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1125</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1125</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1125</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1125-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Nowadays, the computational devices are everywhere. In malls, offices, streets, cars, and even homes, we can find devices providing and consuming functionality to improve the user satisfaction. These devices include sensors that provide information about the environment state (e.g., temperature, occupancy, light levels), service providers (e.g., Internet TVs, GPS), smartphones (that contain user preferences), and actuators that act on the environment (e.g., closing the blinds, activating the alarm, changing the temperature). Although these devices exhibit communication capabilities, their integration into a larger monitoring system remains a challenging task, partly because of the strong heterogeneity of technologies and protocols. Therefore, in this article, we focus on home environments and propose a middleware solution, called DigiHome, that applies the <em>Service Component Architecture</em> (SCA) component model to integrate data and events generated by heterogeneous devices in this kind of environments. DigiHome exploits the SCA extensibility to incorporate the <em>REpresentational State Transfer</em> (REST) architectural style and, in this way, leverages on the integration of multiscale systems-of-systems (from wireless sensor networks to the Internet). Additionally, the platform applies <em>Complex Event Processing</em> technology that detects application-specific situations. We claim that the modularization of concerns fostered by DigiHome and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DigiHome platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Nowadays, the computational devices are everywhere. In malls, offices, streets, cars, and even homes, we can find devices providing and consuming functionality to improve the user satisfaction. These devices include sensors that provide information about the environment state (e.g., temperature, occupancy, light levels), service providers (e.g., Internet TVs, GPS), smartphones (that contain user preferences), and actuators that act on the environment (e.g., closing the blinds, activating the alarm, changing the temperature). Although these devices exhibit communication capabilities, their integration into a larger monitoring system remains a challenging task, partly because of the strong heterogeneity of technologies and protocols. Therefore, in this article, we focus on home environments and propose a middleware solution, called DigiHome, that applies the Service Component Architecture (SCA) component model to integrate data and events generated by heterogeneous devices in this kind of environments. DigiHome exploits the SCA extensibility to incorporate the REpresentational State Transfer (REST) architectural style and, in this way, leverages on the integration of multiscale systems-of-systems (from wireless sensor networks to the Internet). Additionally, the platform applies Complex Event Processing technology that detects application-specific situations. We claim that the modularization of concerns fostered by DigiHome and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DigiHome platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1116" xmlns="http://purl.org/rss/1.0/"><title>UML design pattern metamodel-level constraints for the maintenance of software evolution</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1116</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">UML design pattern metamodel-level constraints for the maintenance of software evolution</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jaeyong Park, Seok-Won Lee, David C. Rine</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-03T07:27:49.805284-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1116</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1116</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1116</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1116-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Software maintenance including design is difficult because it is usually performed on someone else's work over a period of time. Maintaining a pattern-based design is especially much more difficult when the information on specific patterns that have been used are not available in the corresponding design documents. Also, finding a maintainer who has a similar level of knowledge on specific patterns that the initial designer had is not easy. Pattern-based design, the use of design patterns during the software design process, has become widely used in the object-oriented community because of its many benefits such as its reuse. However, the defects in pattern-based design can be introduced during the design maintenance phase when the changes are made to the requirements and the initial design, but the conformance to the original patterns is neglected. This conformance process is laborious and time consuming; no systematic process exists to guide the defects discovery and maintenance. Also, deep and correct knowledge of design patterns and their characteristics are required because this process is conducted by human experts. Failure to follow this conformance process and to maintain correct designs during software design evolution may cause serious problems in later software development and maintenance stages by not providing the benefits of pattern-based design that would have been possible if followed correctly. There is a strong need of a systematic design and maintenance method for preventing defects in design patterns introduced during the evolution of pattern-based software design and its maintenance. Because conventional UML design methods do not provide such systematic ways of assessing pattern-based design conformance to the evolutionary changes, we have developed the pattern instance changes with UML profiles (PICUP) design method, which is an improved design method for perfective and corrective UML pattern-based design maintenance and assessment. Design pattern in UML profiles (DPUP) is developed for the use of instantiation, maintenance, and assessment of UML pattern-based designs to support the formal specification of a design pattern. DPUPs, as the main part of the PICUP design method, provide metamodel-level UML design constraints using UML stereotype notations and metamodel-level Object Constraint Language design constraints. Assessment of pattern-based designs in UML class diagram with the corresponding DPUPs enforces maintainers to make necessary and correct changes to keep the principles of the original designs. Pattern-related information is annotated using stereotype notations to help assess pattern-based designs when changes are made. Furthermore, the structural conformance checking of a given UML pattern-based design can be automated by using the assessment tool. The major contributions of this paper are: (i) specifying design patterns using extended UML profile; (ii) providing a means of how to instantiate pattern-based designs from DPUPs with naming conventions; and (iii) providing design constraints for maintaining pattern-based design to guide correct changes of a given design in PICUP method. Explanatory type case studies were performed to better understand and evaluate the effectiveness of the PICUP design method with DPUPs. Answers to the case study questionnaires and the pattern defects discovered from the case studies support the hypothesis that the PICUP method is an improved design method that ensures structural conformance of UML pattern-based designs to the corresponding design patterns during perfective and corrective design maintenance for software systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Software maintenance including design is difficult because it is usually performed on someone else's work over a period of time. Maintaining a pattern-based design is especially much more difficult when the information on specific patterns that have been used are not available in the corresponding design documents. Also, finding a maintainer who has a similar level of knowledge on specific patterns that the initial designer had is not easy. Pattern-based design, the use of design patterns during the software design process, has become widely used in the object-oriented community because of its many benefits such as its reuse. However, the defects in pattern-based design can be introduced during the design maintenance phase when the changes are made to the requirements and the initial design, but the conformance to the original patterns is neglected. This conformance process is laborious and time consuming; no systematic process exists to guide the defects discovery and maintenance. Also, deep and correct knowledge of design patterns and their characteristics are required because this process is conducted by human experts. Failure to follow this conformance process and to maintain correct designs during software design evolution may cause serious problems in later software development and maintenance stages by not providing the benefits of pattern-based design that would have been possible if followed correctly. There is a strong need of a systematic design and maintenance method for preventing defects in design patterns introduced during the evolution of pattern-based software design and its maintenance. Because conventional UML design methods do not provide such systematic ways of assessing pattern-based design conformance to the evolutionary changes, we have developed the pattern instance changes with UML profiles (PICUP) design method, which is an improved design method for perfective and corrective UML pattern-based design maintenance and assessment. Design pattern in UML profiles (DPUP) is developed for the use of instantiation, maintenance, and assessment of UML pattern-based designs to support the formal specification of a design pattern. DPUPs, as the main part of the PICUP design method, provide metamodel-level UML design constraints using UML stereotype notations and metamodel-level Object Constraint Language design constraints. Assessment of pattern-based designs in UML class diagram with the corresponding DPUPs enforces maintainers to make necessary and correct changes to keep the principles of the original designs. Pattern-related information is annotated using stereotype notations to help assess pattern-based designs when changes are made. Furthermore, the structural conformance checking of a given UML pattern-based design can be automated by using the assessment tool. The major contributions of this paper are: (i) specifying design patterns using extended UML profile; (ii) providing a means of how to instantiate pattern-based designs from DPUPs with naming conventions; and (iii) providing design constraints for maintaining pattern-based design to guide correct changes of a given design in PICUP method. Explanatory type case studies were performed to better understand and evaluate the effectiveness of the PICUP design method with DPUPs. Answers to the case study questionnaires and the pattern defects discovered from the case studies support the hypothesis that the PICUP method is an improved design method that ensures structural conformance of UML pattern-based designs to the corresponding design patterns during perfective and corrective design maintenance for software systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1119" xmlns="http://purl.org/rss/1.0/"><title>Efficiently and transparently automating scalable on-demand activation and deactivation of services with the activator pattern</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1119</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Efficiently and transparently automating scalable on-demand activation and deactivation of services with the activator pattern</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Stal, Douglas C. Schmidt, William R. Otte</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T03:29:52.981771-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1119</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1119</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1119</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">00</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">00</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1119-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Computing systems are increasingly designed as a collection of interacting services that constitute a set of functionality offered by a service provider or server to its clients. Many service-oriented computing systems have constraints on the resources they allocate and manage. In these systems, certain types of services should consume resources only when they are accessed by clients, and clients should be shielded from where services are located, how they are deployed, and how their lifecycle is managed. The activator pattern provides an effective means to efficiently and transparently automate scalable on-demand activation and deactivation of services accessed by many clients. This paper motivates the need for the activator pattern, describes the structure and dynamics of canonical implementations of the pattern, and examines the benefits and liabilities of applying this pattern to services in resource-constrained computing systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Computing systems are increasingly designed as a collection of interacting services that constitute a set of functionality offered by a service provider or server to its clients. Many service-oriented computing systems have constraints on the resources they allocate and manage. In these systems, certain types of services should consume resources only when they are accessed by clients, and clients should be shielded from where services are located, how they are deployed, and how their lifecycle is managed. The activator pattern provides an effective means to efficiently and transparently automate scalable on-demand activation and deactivation of services accessed by many clients. This paper motivates the need for the activator pattern, describes the structure and dynamics of canonical implementations of the pattern, and examines the benefits and liabilities of applying this pattern to services in resource-constrained computing systems. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1122" xmlns="http://purl.org/rss/1.0/"><title>Towards design pattern definition language</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1122</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Towards design pattern definition language</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Salman Khwaja, Mohammad Alshayeb</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-09-30T01:52:51.624704-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1122</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1122</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1122</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1122-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Design patterns are rapidly gaining acceptance in the software community not only as reusable constructs for software development but also for the documentation of the software architectural design. Most of the existing design pattern languages describe design patterns using a combination of a natural language, UML-style diagrams and complex mathematical or logic based formalisms, which makes them hard for programmers to understand. In this paper we propose a design pattern definition language (DPDL) based on XML which can be used for sharing design patterns’ implementation details among developers. DPDL is easy to understand and use. It provides unambiguous description of the patterns and is extensible. DPDL also has the flexibility of defining design patterns in a generic term to be used as templates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Design patterns are rapidly gaining acceptance in the software community not only as reusable constructs for software development but also for the documentation of the software architectural design. Most of the existing design pattern languages describe design patterns using a combination of a natural language, UML-style diagrams and complex mathematical or logic based formalisms, which makes them hard for programmers to understand. In this paper we propose a design pattern definition language (DPDL) based on XML which can be used for sharing design patterns’ implementation details among developers. DPDL is easy to understand and use. It provides unambiguous description of the patterns and is extensible. DPDL also has the flexibility of defining design patterns in a generic term to be used as templates. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1114" xmlns="http://purl.org/rss/1.0/"><title>Software abstractions for mobile RFID-enabled applications</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1114</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Software abstractions for mobile RFID-enabled applications</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andoni Lombide Carreton, Kevin Pinte, Wolfgang De Meuter</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-31T22:18:48.296273-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1114</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1114</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1114</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1114-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Our everyday environments may soon be pervaded with radio frequency identification (RFID) tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications, as traditional programming models require the programmer to deal with the RFID hardware characteristics manually. On the other hand, traditional RFID middleware focuses on limited scenarios in an enterprise context and not on general ubiquitous computing scenarios. In this paper, we extend the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected <em>mutable proxy objects</em> hosted on mobile distributed computing devices, and detail our prototype implementation. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Our everyday environments may soon be pervaded with radio frequency identification (RFID) tags integrated in physical objects. These RFID tags can store a digital representation of the physical object and transmit it wirelessly to pervasive, context-aware applications running on mobile devices. However, communicating with RFID tags is prone to many failures inherent to the technology. This hinders the development of such applications, as traditional programming models require the programmer to deal with the RFID hardware characteristics manually. On the other hand, traditional RFID middleware focuses on limited scenarios in an enterprise context and not on general ubiquitous computing scenarios. In this paper, we extend the ambient-oriented programming paradigm to program RFID applications, by considering RFID tags as intermittently connected mutable proxy objects hosted on mobile distributed computing devices, and detail our prototype implementation. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1110" xmlns="http://purl.org/rss/1.0/"><title>(MC2)2: criteria, requirements and a software prototype for Cloud infrastructure decisions</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1110</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">(MC2)2: criteria, requirements and a software prototype for Cloud infrastructure decisions</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Menzel, Marten Schönherr, Stefan Tai</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-08-31T21:38:10.99486-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1110</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1110</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1110</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1110-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Cloud computing is a disruptive technology, representing a new model for information technology solution engineering and management that promises to introduce significant cost savings and other benefits. The adoption of Cloud computing requires a detailed comparison of infrastructure alternatives, taking a number of aspects into careful consideration. Existing methods of evaluation, however, limit decision-making to the relative costs of Cloud computing, but do not take a broader range of criteria into account. The Multi-Criteria Comparison Method for Cloud Computing (<img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0001.gif?v=1&amp;t=hh335f7y&amp;s=b8f21946c0de56377a8d95a148fc44eeaa7ecdb1" class="inlineGraphic"/>) offers a multi-criteria-based decision framework that can be applied to Cloud computing. The framework allows organizations to create evaluation methods that help to determine what infrastructure best suits their needs by evaluating and ranking infrastructure alternatives using multiple criteria derived from a comprehensive criteria catalog. Therefore, <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0002.gif?v=1&amp;t=hh335f80&amp;s=3c004a437a12f56f368cbcc7ca50799223d73894" class="inlineGraphic"/> offers a way to differentiate infrastructures not only by costs but also in terms of benefits, opportunities and risks. <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.1110/asset/equation/spe1110-math-0003.gif?v=1&amp;t=hh335f81&amp;s=1dbc13a885f39a97243bb9bd2e4fce4d2b74a755" class="inlineGraphic"/> can be adapted to facilitate a wide array of decision-making scenarios within the domain of information technology infrastructures, depending on the criteria selected to support the framework. The software prototype presented in this paper creates an interface to decision-makers that makes the framework more usable for Cloud infrastructure decisions in practice. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Cloud computing is a disruptive technology, representing a new model for information technology solution engineering and management that promises to introduce significant cost savings and other benefits. The adoption of Cloud computing requires a detailed comparison of infrastructure alternatives, taking a number of aspects into careful consideration. Existing methods of evaluation, however, limit decision-making to the relative costs of Cloud computing, but do not take a broader range of criteria into account. The Multi-Criteria Comparison Method for Cloud Computing ((MC2)2) offers a multi-criteria-based decision framework that can be applied to Cloud computing. The framework allows organizations to create evaluation methods that help to determine what infrastructure best suits their needs by evaluating and ranking infrastructure alternatives using multiple criteria derived from a comprehensive criteria catalog. Therefore, (MC2)2 offers a way to differentiate infrastructures not only by costs but also in terms of benefits, opportunities and risks. (MC2)2 can be adapted to facilitate a wide array of decision-making scenarios within the domain of information technology infrastructures, depending on the criteria selected to support the framework. The software prototype presented in this paper creates an interface to decision-makers that makes the framework more usable for Cloud infrastructure decisions in practice. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1094" xmlns="http://purl.org/rss/1.0/"><title>Replay debugging of non-deterministic executions in the Kernel-based Virtual Machine</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1094</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Replay debugging of non-deterministic executions in the Kernel-based Virtual Machine</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kurt E. Kiefer, Louise E. Moser</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-27T03:35:31.374034-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1094</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1094</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1094</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe1094-para-0002" xmlns="http://www.w3.org/1999/xhtml"><p>Logging and replay provide numerous benefits for debugging today's increasingly distributed and parallel applications, as well as for debugging within cloud computing environments. Tracking down faults, particularly in applications that involve non-deterministic executions, becomes much easier if such a technique is used. This article presents a system that leverages the functionality of modern x86 hardware extensions present in Intel and AMD processors to implement logging and replay of the Kernel-based Virtual Machine (KVM). With our KVM-based logging and replay system, virtual machines can be logged at will. The system can record the behavior of the operating system, the applications, the network traffic, and the user input. At a later time, and even on another machine, the problematic execution can be replayed and analyzed. The implementation incurs a minimal amount of processing and memory overhead, and thus, its effects are largely imperceptible to users of the system. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Logging and replay provide numerous benefits for debugging today's increasingly distributed and parallel applications, as well as for debugging within cloud computing environments. Tracking down faults, particularly in applications that involve non-deterministic executions, becomes much easier if such a technique is used. This article presents a system that leverages the functionality of modern x86 hardware extensions present in Intel and AMD processors to implement logging and replay of the Kernel-based Virtual Machine (KVM). With our KVM-based logging and replay system, virtual machines can be logged at will. The system can record the behavior of the operating system, the applications, the network traffic, and the user input. At a later time, and even on another machine, the problematic execution can be replayed and analyzed. The implementation incurs a minimal amount of processing and memory overhead, and thus, its effects are largely imperceptible to users of the system. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1082" xmlns="http://purl.org/rss/1.0/"><title>Hadoop framework: impact of data organization on performance</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1082</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Hadoop framework: impact of data organization on performance</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yu Shyang Tan, Jiaqi Tan, Eng Siong Chng, Bu-Sung Lee, Jiaming Li, Susumu Date, Hui Ping Chak, Xiong Xiao, Atsushi Narishige</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-05-23T01:38:13.291878-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.1082</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.1082</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.1082</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Special Issue Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">n/a</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">Abstract</h3><div class="para" xmlns="http://www.w3.org/1999/xhtml"><p>Hadoop, based on the popular MapReduce framework, is an open-source distributed computing framework that has been gaining much popularity and usage. It aims to allow programmers to focus on building applications that deals with processing large amount of data, without having to handle other issues when performing parallel computations. However, tuning the performance of Hadoop applications is not an easy task due to the level of abstraction of the framework. In this paper, we present three case studies and some of the challenges and issues that are to be considered in performance tuning when running applications in Hadoop. The focus is mainly on the impact of input data on Hadoop's performance and how they can be tuned. Copyright © 2011 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>Hadoop, based on the popular MapReduce framework, is an open-source distributed computing framework that has been gaining much popularity and usage. It aims to allow programmers to focus on building applications that deals with processing large amount of data, without having to handle other issues when performing parallel computations. However, tuning the performance of Hadoop applications is not an easy task due to the level of abstraction of the framework. In this paper, we present three case studies and some of the challenges and issues that are to be considered in performance tuning when running applications in Hadoop. The focus is mainly on the impact of input data on Hadoop's performance and how they can be tuned. Copyright © 2011 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2123" xmlns="http://purl.org/rss/1.0/"><title>Best practices for describing, consuming, and discovering web services: a comprehensive toolset</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2123</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Best practices for describing, consuming, and discovering web services: a comprehensive toolset</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juan Manuel Rodriguez, Marco Crasso, Cristian Mateos, Alejandro Zunino</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-04-09T23:12:54.966795-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2123</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2123</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2123</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">613</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">639</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2123-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>The service-oriented computing (SOC) paradigm has recently gained a lot of attention in the software industry because SOC represents a novel and a fresh way of architecting distributed applications. SOC is usually materialized via web services, which allows developers to structure applications exposing a clear, public interface to their capabilities. Although conceptually and technologically mature, SOC still lacks adequate development support from a methodological point of view. In this paper, we present the EasySOC project, a set of guidelines to simplify the development of service-oriented applications and services. EasySOC is a synthesized catalog of best SOC development practices that arise as a result of several years of research in fundamental Services Computing topics, that is, Web Service Description Language-based technical specification, Web Service discovery, and Web Service outsourcing. In addition, we describe a materialization of the guidelines for the Java language, which has been implemented as a plug-in for the Eclipse IDE. We believe that both the practical nature of the guidelines and the availability of this software that enforces them may help software practitioners to rapidly exploit our ideas for building real SOC applications. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
The service-oriented computing (SOC) paradigm has recently gained a lot of attention in the software industry because SOC represents a novel and a fresh way of architecting distributed applications. SOC is usually materialized via web services, which allows developers to structure applications exposing a clear, public interface to their capabilities. Although conceptually and technologically mature, SOC still lacks adequate development support from a methodological point of view. In this paper, we present the EasySOC project, a set of guidelines to simplify the development of service-oriented applications and services. EasySOC is a synthesized catalog of best SOC development practices that arise as a result of several years of research in fundamental Services Computing topics, that is, Web Service Description Language-based technical specification, Web Service discovery, and Web Service outsourcing. In addition, we describe a materialization of the guidelines for the Java language, which has been implemented as a plug-in for the Eclipse IDE. We believe that both the practical nature of the guidelines and the availability of this software that enforces them may help software practitioners to rapidly exploit our ideas for building real SOC applications. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2125" xmlns="http://purl.org/rss/1.0/"><title>A telematics service discovery platform using the distributed peer-to-peer networking system</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2125</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A telematics service discovery platform using the distributed peer-to-peer networking system</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chung-Ming Huang, Chia-Ching Yang, Chun-Yu Tseng</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-05-06T22:29:06.381833-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2125</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2125</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2125</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">641</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">662</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2125-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, a distributed telematics peer-to-peer networking system is proposed to provide an efficient and feasible service discovery mechanism for mobile users. When mobile users travel on the road, they may request for some services from service providers to meet their demands. Mobile users in vehicles are assumed to go through a lot of regions, in which each region is associated with a region server. Related information of all service providers in a region is stored in its region server, and each region server is in charge of the service discovery requests from all vehicles located in its region. This paper focuses on the issues of developing a distributed peer-to-peer telematics service discovery networking system over the vehicular network environment for mobile users. To provide the communication mechanism for telematics service discovery among region server, mobile users, and service providers, the Telematics Service Markup Language is proposed. According to clients' demands, three types of query scenarios are proposed, which are (1) reference point based query, (2) continual query, and (3) route-based query. Finally, we present usage examples and system implementation of distributed telematics peer-to-peer. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
In this paper, a distributed telematics peer-to-peer networking system is proposed to provide an efficient and feasible service discovery mechanism for mobile users. When mobile users travel on the road, they may request for some services from service providers to meet their demands. Mobile users in vehicles are assumed to go through a lot of regions, in which each region is associated with a region server. Related information of all service providers in a region is stored in its region server, and each region server is in charge of the service discovery requests from all vehicles located in its region. This paper focuses on the issues of developing a distributed peer-to-peer telematics service discovery networking system over the vehicular network environment for mobile users. To provide the communication mechanism for telematics service discovery among region server, mobile users, and service providers, the Telematics Service Markup Language is proposed. According to clients' demands, three types of query scenarios are proposed, which are (1) reference point based query, (2) continual query, and (3) route-based query. Finally, we present usage examples and system implementation of distributed telematics peer-to-peer. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2126" xmlns="http://purl.org/rss/1.0/"><title>A generic static analyzer for multithreaded Java programs</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2126</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">A generic static analyzer for multithreaded Java programs</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">P. Ferrara</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-05-09T04:14:05.94592-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2126</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2126</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2126</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">663</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">684</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2126-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>In this paper, we present <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.2126/asset/equation/spe2126-math-0010.gif?v=1&amp;t=hh335f9m&amp;s=b421c9e4952a51cdf4380aa60c39609948d8c3e4" class="inlineGraphic"/><span class="sans-serif ">heckmate</span>, the first generic static analyzer of multithreaded <span class="sans-serif ">Java</span> programs based on abstract interpretation. <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.2126/asset/equation/spe2126-math-0011.gif?v=1&amp;t=hh335f9n&amp;s=7f6bede16a226e0e803492e13fc5ecc48ac99545" class="inlineGraphic"/><span class="sans-serif ">heckmate</span> can be tuned at different levels of precision and efficiency in order to prove various properties (e.g., absence of divisions by zero and data races), and it is sound for multithreaded programs. It supports all the most relevant features of Java multithreading, such as dynamic thread creation, runtime creation of monitors, and dynamic allocation of memory. The experimental results demonstrate that <img alt="inline image" src="http://onlinelibrary.wiley.com/store/10.1002/spe.2126/asset/equation/spe2126-math-0012.gif?v=1&amp;t=hh335f9q&amp;s=6395b92daaaca52a58712a6299ece1b07c38ba72" class="inlineGraphic"/><span class="sans-serif ">heckmate</span> is accurate and efficient enough to analyze programs with some thousands of statements and a potentially infinite number of threads. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
In this paper, we present Checkmate, the first generic static analyzer of multithreaded Java programs based on abstract interpretation. Checkmate can be tuned at different levels of precision and efficiency in order to prove various properties (e.g., absence of divisions by zero and data races), and it is sound for multithreaded programs. It supports all the most relevant features of Java multithreading, such as dynamic thread creation, runtime creation of monitors, and dynamic allocation of memory. The experimental results demonstrate that Checkmate is accurate and efficient enough to analyze programs with some thousands of statements and a potentially infinite number of threads. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2127" xmlns="http://purl.org/rss/1.0/"><title>Incorporating transitive relations in low-level design-based class cohesion measurement</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2127</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Incorporating transitive relations in low-level design-based class cohesion measurement</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jehad Al Dallal</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-04-27T01:32:50.812657-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2127</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2127</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2127</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Research Article</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">685</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">704</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2127-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Class cohesion metrics apply different approaches to quantify the relatedness of the attributes and methods in a class. These relations can be direct or transitive. Method invocations are among the key sources of potential transitive attribute–method relations. That is, a method is not only related to the attributes that it references, but it may also be transitively related to the attributes referenced by the methods that it invokes. A few of the existing class cohesion metrics capture this potential transitive cohesion aspect. In this paper, we classify the method invocations as direct or transitive. The definitions of the class representative models used by 16 existing low-level design (LLD) metrics are extended to incorporate the cohesion caused by the two types of method invocations. The impact of incorporating the transitive relations because of the two types of method invocations on the cohesion values and on the ability of the LLD metrics to predict faulty classes are studied empirically. The results show that the transitive relations because of both types of method invocations featured a considerable degree of cohesion that is not captured by most of the existing LLD metrics. However, practically, incorporating transitive relations in cohesion measurement was found to be ineffective in improving the fault-prediction powers of most of the LLD metrics. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Class cohesion metrics apply different approaches to quantify the relatedness of the attributes and methods in a class. These relations can be direct or transitive. Method invocations are among the key sources of potential transitive attribute–method relations. That is, a method is not only related to the attributes that it references, but it may also be transitively related to the attributes referenced by the methods that it invokes. A few of the existing class cohesion metrics capture this potential transitive cohesion aspect. In this paper, we classify the method invocations as direct or transitive. The definitions of the class representative models used by 16 existing low-level design (LLD) metrics are extended to incorporate the cohesion caused by the two types of method invocations. The impact of incorporating the transitive relations because of the two types of method invocations on the cohesion values and on the ability of the LLD metrics to predict faulty classes are studied empirically. The results show that the transitive relations because of both types of method invocations featured a considerable degree of cohesion that is not captured by most of the existing LLD metrics. However, practically, incorporating transitive relations in cohesion measurement was found to be ineffective in improving the fault-prediction powers of most of the LLD metrics. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2128" xmlns="http://purl.org/rss/1.0/"><title>Improving TLB performance on current chip multiprocessor architectures through demand-driven superpaging</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2128</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Improving TLB performance on current chip multiprocessor architectures through demand-driven superpaging</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Apan Qasem, Josh Magee</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-05-01T22:40:31.082085-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2128</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2128</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2128</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Extended Conference Paper</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">705</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">729</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<h3 xhtml="http://www.w3.org/1999/xhtml" xmlns:ol="http://www.wiley.com/namespaces/ol/xsl-lib">SUMMARY</h3><div class="para" id="spe2128-para-0001" xmlns="http://www.w3.org/1999/xhtml"><p>Translation Lookaside Buffers (TLBs) can play a critical role in improving the performance of emerging parallel workloads. Most current chip multiprocessor systems include multilevel TLBs and provide support for superpages both at the hardware and software level. Judicious use of superpages can significantly cut down the number of TLB misses and improve overall system performance. However, indiscriminate superpage allocation results in page fragmentation and increased application footprint, which often outweigh the benefits of reduced TLB misses. Previous research has explored policies for smart allocation of superpages from an operating system perspective. This paper presents a compiler-based strategy for automatic and profitable memory allocation via superpages. A significant advantage of a compiler-based approach is the availability of data-reuse information within an application. Our strategy employs data-locality analysis to estimate the TLB demands for both single-threaded and multi-threaded programs and uses this metric to apply selective superpage allocation. Apart from its obvious utility in improving TLB performance, this strategy can be used to improve the effectiveness of certain data-layout transformations and can be a useful tool in benchmarking and automatic performance tuning. We demonstrate the effectiveness of this strategy with experiments on three multicore platforms on a workload that contains both sequential and parallel applications. Copyright © 2012 John Wiley &amp; Sons, Ltd.</p></div>]]></content:encoded><description>
Translation Lookaside Buffers (TLBs) can play a critical role in improving the performance of emerging parallel workloads. Most current chip multiprocessor systems include multilevel TLBs and provide support for superpages both at the hardware and software level. Judicious use of superpages can significantly cut down the number of TLB misses and improve overall system performance. However, indiscriminate superpage allocation results in page fragmentation and increased application footprint, which often outweigh the benefits of reduced TLB misses. Previous research has explored policies for smart allocation of superpages from an operating system perspective. This paper presents a compiler-based strategy for automatic and profitable memory allocation via superpages. A significant advantage of a compiler-based approach is the availability of data-reuse information within an application. Our strategy employs data-locality analysis to estimate the TLB demands for both single-threaded and multi-threaded programs and uses this metric to apply selective superpage allocation. Apart from its obvious utility in improving TLB performance, this strategy can be used to improve the effectiveness of certain data-layout transformations and can be a useful tool in benchmarking and automatic performance tuning. We demonstrate the effectiveness of this strategy with experiments on three multicore platforms on a workload that contains both sequential and parallel applications. Copyright © 2012 John Wiley &amp; Sons, Ltd.</description></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2178" xmlns="http://purl.org/rss/1.0/"><title>Intelligent Technologies and Applications for Big Data Analytics</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2178</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">Intelligent Technologies and Applications for Big Data Analytics</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2012-12-28T04:58:35.425427-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2178</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2178</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2178</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Call for Papers</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">731</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">732</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item><item rdf:about="http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2177" xmlns="http://purl.org/rss/1.0/"><title>David Barron: a life in software, 1935–2012</title><link>http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2177</link><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">David Barron: a life in software, 1935–2012</dc:title><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">M. Campbell-Kelly</dc:creator><dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2013-02-26T03:53:44.727509-05:00</dc:date><dc:identifier xmlns:dc="http://purl.org/dc/elements/1.1/">doi:10.1002/spe.2177</dc:identifier><dc:rights xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:publisher xmlns:dc="http://purl.org/dc/elements/1.1/">John Wiley &amp; Sons, Inc.</dc:publisher><prism:doi xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">10.1002/spe.2177</prism:doi><prism:url xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">http://onlinelibrary.wiley.com/resolve/doi?DOI=10.1002%2Fspe.2177</prism:url><prism:section xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">Obituary</prism:section><prism:startingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">733</prism:startingPage><prism:endingPage xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/">741</prism:endingPage><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[]]></content:encoded><description/></item></rdf:RDF>