10,501 research outputs found
Structured Review of the Evidence for Effects of Code Duplication on Software Quality
This report presents the detailed steps and results of a structured review of code clone literature. The aim of the review is to investigate the evidence for the claim that code duplication has a negative effect on code changeability. This report contains only the details of the review for which there is not enough place to include them in the companion paper published at a conference (Hordijk, Ponisio et al. 2009 - Harmfulness of Code Duplication - A Structured Review of the Evidence)
ISICSoo: a class for the calculation of ionization cross sections from ECPSSR and PWBA theory
ISICS, originally a C language program for calculating K-, L- and M-shell
ionization and X-ray production cross sections from ECPSSR and PWBA theory, has
been reengineered into a C++ language class, named ISICSoo. The new software
design enables the use of ISICS functionality in other software systems. The
code, originally developed for Microsoft Windows operating systems, has been
ported to Linux and Mac OS platforms to facilitate its use in a wider
scientific environment. The reengineered software also includes some fixes to
the original implementation, which ensure more robust computational results and
a review of some physics parameters used in the computation. The paper
describes the software design and the modifications to the implementation with
respect to the previous version; it also documents the test process and
provides some indications about the software performance.Comment: Preprint submitted to Computer Physics Communication
An Empirical Study of a Repeatable Method for Reengineering Procedural Software Systems to Object- Oriented Systems
This paper describes a repeatable method for reengineering a procedural
system to an object-oriented system. The method uses coupling metrics to assist a domain
expert in identifying candidate objects. An application of the method to a simple program
is given, and the effectiveness of the various coupling metrics are discussed. We perform
a detailed comparison of our repeatable method with an ad hoc, manual reengineering
effort based on the same procedural program. The repeatable method was found to be
effective for identifying objects. It produced code that was much smaller, more efficient,
and passed more regression tests than the ad hoc method. Analysis of object-oriented
metrics indicated both simpler code and less variability among classes for the repeatable
method
Bridging the gap between design and implementation of components libraries
Object-oriented design is usually driven by three main reusability principles:
step-by-step design, design for reuse and design with reuse. However, these
principles are just partially
applied to the subsequent object-oriented implementation, often due to efficienc
y
constraints, yielding to a gap between design and implementation. In this paper
we provide a solution for bridging this gap for a concrete framework, the one of
designing and implementing container-like component libraries, such as STL, Booc
h
Components, etc. Our approach is based on a new design pattern together with its
corresponding implementation. The proposal enhances the same principles that
drive the design process: step-by--step implementation (adding just what is
needed in every step), implementation with reuse (component implementations are
reused while library implementation
progresses and component hierarchies grow) and implementation for reuse
(intermediate component implementations can be reused in many different points o
f
the hierarchy). We use our approach in two different manners: for building a
brand-new container-like
component library, and for reengineering an existing one, Booch Components in
Ada95.Postprint (published version
Refactoring, reengineering and evolution: paths to Geant4 uncertainty quantification and performance improvement
Ongoing investigations for the improvement of Geant4 accuracy and
computational performance resulting by refactoring and reengineering parts of
the code are discussed. Issues in refactoring that are specific to the domain
of physics simulation are identified and their impact is elucidated.
Preliminary quantitative results are reported.Comment: To be published in the Proc. CHEP (Computing in High Energy Physics)
201
Structured Review of Code Clone Literature
This report presents the results of a structured review of code clone literature. The aim of the review is to assemble a conceptual model of clone-related concepts which helps us to reason about clones. This conceptual model unifies clone concepts from a wide range of literature, so that findings about clones can be compared with each other
A Model-Driven Architecture Approach to the Efficient Identification of Services on Service-oriented Enterprise Architecture
Service-Oriented Enterprise Architecture requires the efficient development of loosely-coupled and interoperable sets of services. Existing design approaches do not always take full advantage of the value and importance of the engineering invested in existing legacy systems. This paper proposes an approach to define the key services from such legacy systems effectively. The approach focuses on identifying these services based on a Model-Driven Architecture approach supported by guidelines over a wide range of possible service types
- …