Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- articleDecember 2016
A continuation-based task programming model for C++: design of the Causeway library
Software—Practice & Experience (SPRE), Volume 46, Issue 12Pages 1617–1656https://doi.org/10.1002/spe.2395There is a big class of problems that requires writing programs in an asynchronous manner. Cloud computing, service-oriented architectures, multi-core and heterogeneous systems all require programs to be written with asynchronous components. The ...
- articleNovember 2016
Automatic builder of class diagram ABCD: an application of UML generation from functional requirements
- Wahiba Ben Abdessalem Karaa,
- Zeineb Ben Azzouz,
- Aarti Singh,
- Nilanjan Dey,
- Amira S. Ashour,
- Henda Ben Ghazala
Software—Practice & Experience (SPRE), Volume 46, Issue 11Pages 1443–1458https://doi.org/10.1002/spe.2384Software development life cycle is a structured process, including the definition of user requirements specification, the system design, and programming. The design task comprises the transfer of natural language specifications into models. The class ...
- articleOctober 2016
Polymorphic bytecode instrumentation
Software—Practice & Experience (SPRE), Volume 46, Issue 10Pages 1351–1380https://doi.org/10.1002/spe.2385Bytecode instrumentation is a widely used technique to implement aspect weaving and dynamic analyses in virtual machines such as the Java virtual machine. Aspect weavers and other instrumentations are usually developed independently and combining them ...
- articleAugust 2016
Workload characterization of JVM languages
Software—Practice & Experience (SPRE), Volume 46, Issue 8Pages 1053–1089https://doi.org/10.1002/spe.2337Originally developed with a single language in mind, the JVM is now targeted by numerous programming languages-its automatic memory management, just-in-time compilation, and adaptive optimizations-making it an attractive execution platform. However, the ...
- articleJuly 2016
A rule-based procedure for automatic recognition of design patterns in UML diagrams
Software—Practice & Experience (SPRE), Volume 46, Issue 7Pages 983–1007https://doi.org/10.1002/spe.2336In the present work, we describe a procedure and a prototype implementation for the automatic recognition of design patterns from documentation of software artefacts design and implementation, provided in a machine readable form, namely, the XML ...
-
- articleJuly 2016
Empirical study of the dynamic behavior of JavaScript objects
Software—Practice & Experience (SPRE), Volume 46, Issue 7Pages 867–889https://doi.org/10.1002/spe.2334Despite the popularity of JavaScript for client-side web applications, there is a lack of effective software tools supporting JavaScript development and testing. The dynamic characteristics of JavaScript pose software engineering challenges such as ...
- articleMay 2016
RJ: a Java package providing JR-like concurrent programming
Software—Practice & Experience (SPRE), Volume 46, Issue 5Pages 685–708https://doi.org/10.1002/spe.2330The JR concurrent programming language extends Java with a richer concurrency model, by adding several new types and statements. JR provides dynamic remote virtual machine creation, dynamic remote object creation, remote method invocation, dynamic ...
- articleApril 2015
Is superoptimization viable for VM instruction sets?
Software—Practice & Experience (SPRE), Volume 45, Issue 4Pages 571–579https://doi.org/10.1002/spe.2240The technique of superoptimization attempts to ensure true optimality of a code according to predefined criteria through an exhaustive search of all potentially viable programs. Implementations have demonstrated that superoptimizers are capable of ...
- articleAugust 2014
From bytecode to JavaScript: the Js_of_ocaml compiler
Software—Practice & Experience (SPRE), Volume 44, Issue 8Pages 951–972https://doi.org/10.1002/spe.2187We 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 ...
- articleAugust 2014
Dereferee: instrumenting C++ pointers with meaningful runtime diagnostics
Software—Practice & Experience (SPRE), Volume 44, Issue 8Pages 973–997https://doi.org/10.1002/spe.2184Proper 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 ...
- articleApril 2014
Talents: an environment for dynamically composing units of reuse
Software—Practice & Experience (SPRE), Volume 44, Issue 4Pages 413–432https://doi.org/10.1002/spe.2160Reuse 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 ...
- articleJanuary 2013
Enhancing OSGi with real-time Java support
Software—Practice & Experience (SPRE), Volume 43, Issue 1Pages 33–65https://doi.org/10.1002/spe.2101OSGi was designed with embedded systems in mind, its current support is insufficient for coping with one main characteristic of many embedded systems: real-time performance. This article analyzes different key issues in providing OSGi with real-time ...
- articleOctober 2012
Extending UML to model Web 2.0-based context-aware applications
Software—Practice & Experience (SPRE), Volume 42, Issue 10Pages 1211–1227https://doi.org/10.1002/spe.1124Web 2.0 Mashups offer entirely new opportunities for context-aware application (CAA) developers by integrating Web 2.0 technologies to facilitate interoperability among heterogeneous context-aware systems. From a software engineering perspective, a ...
- articleAugust 2012
Specification and Standardization of a Java Trusted Computing API
Software—Practice & Experience (SPRE), Volume 42, Issue 8Pages 945–965https://doi.org/10.1002/spe.1095The paradigm of Trusted Computing promises a new approach to improve the security of computer systems. The core functionality, based on a hardware component known as Trusted Platform Module, is integrated into commodity hardware. However, operating ...
- articleMay 2011
Coloring, a versatile technique for implementing object-oriented languages
Software—Practice & Experience (SPRE), Volume 41, Issue 6Pages 627–659https://doi.org/10.1002/spe.1022Late binding and subtyping create run-time overhead for object-oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants, of reference and position, that make ...
- articleApril 2011
Using independence to enable parallelism on multicore computers
Software—Practice & Experience (SPRE), Volume 41, Issue 4Pages 393–402https://doi.org/10.1002/spe.1010A simple programming abstraction based on the notion of independence is introduced as a means for mapping the independence inherent in an algorithm explicitly into its programmed solution. This enables a compiler and runtime system to exploit the ...
- articleNovember 2010
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience (SPRE), Volume 40, Issue 12Pages 1135–1160Structured parallel programs ought to be conceived as two separate and complementary entities: computation, which expresses the calculations in a procedural manner, and coordination, which abstracts the interaction and communication. By abstracting ...
- articleMay 2010
Worst-case execution time analysis for a Java processor
In this paper, we propose a solution for a worst-case execution time (WCET) analyzable Java system: a combination of a time-predictable Java processor and a tool that performs WCET analysis at Java bytecode level. We present a Java processor, called JOP,...
- articleDecember 2009
Cross-profiling for Java processors
Software—Practice & Experience (SPRE), Volume 39, Issue 18Pages 1439–1465Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. The prevailing approaches either require the deployment of the ...
- articleJune 2009
XSLT-based evolutions and analyses of design patterns
Design patterns document flexible designs that may evolve over time. Design pattern evolution typically involves the addition or removal of a group of modeling elements, such as classes, attributes, operations, and relationships. However, the possible ...