39 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)
Toward a Code-Clone Search through the Entire Lifecycle of a Software Product
This paper presents a clone-detection method/tool currently under devel-opment. This tool is useful as a code-clone search through the entire lifecycle ofa software product; The tool searches code examples and analyzes of code clonesin both preventive and postmortem ways[LRHK10]. The approach is based on asequence equivalence on execution paths[Kam13] and extends the equivalence toinclude gaps, thus type-3[BKA + 07] clone detection. Each of the detected clones isa sub-sequence of an execution path of a given program, in other words, a set of codefragments of multiple procedures (methods) which can be executed in a run of theprogram. The approach is relaxed in terms of adaptability to incomplete (not-yet-finished) code, but also makes use of concrete information such as types (includinghierarchy) and dynamic dispatch when such information is available
Handling Clone Mutations in Simulink Models with VCL
Like any other software system, real life Simulink models contain a considerable amount of cloning. These clones are not always identical copies of each other, but actually show a variety of differences from each other despite the overall similarities. Insufficient variability mechanisms provided by the platform make it difficult to create generic structures to represent these clones. Also, complete elimination of clones from the systems may not always be practical, feasible, or cost-effective. In this paper we propose a mechanism for clone management based on Variant Configuration Language (VCL) that provides a powerful variability handling mechanism. In this mechanism, the clones will be managed separate from the models in a non-intrusive way and the original models will not be polluted with extra complexity to manage clone instances. The proposed technique is validated by creating generic solutions for Simulink clones with a variety of differences present between them
Objektorientierte Graphendarstellung von Simulink-Modellen zur einfachen Analyse und Transformation
In software and hardware development MATLAB and Simulink are used to model
cyber physical systems for many years, , especially in automation technology
and the automotive industry. Compliance with the required product quality and
project efficiency is facilitated by analyzing and transforming Simulink
models. The existing API, provided by MATLAB is only suitable for programmatic
changing of Simulink models. We show using our own tool which is used in
industry, how such as a Simulink model can be edited more easily. For this
purpose the model, is converted to an object-oriented class structure that
provides convenient access and editing APIs and allows applying well-known
algorithms and analyses from graph theory directly. It is also designed as a
bi-directional tool, so it transforms a Simulink model into a graph
representation and vice versa.
-----
In der Software- und Hardwareentwicklung wird seit Jahren verst\"arkt MATLAB
und Simulink f\"ur die Modellierung von cyberphysikalischen Systemen,
insbesondere in der Automatisierungstechnik und der Automobilindustrie
eingesetzt. Die Einhaltung der notwendigen Produktqualit\"at und
Projekteffizienz wird durch Analysen und Transformationen auf Simulink-Modellen
erleichtert. Die bestehende, von MATLAB bereitgestellte, API ist f\"ur die
programmatische Ver\"anderung von Simulink-Modellen nur bedingt geeignet. Wir
zeigen deshalb anhand eines eigenen, im industriellen Einsatz befindlichen
Werkzeugs, wie ein Simulink-Modell leichter bearbeitet werden kann. Dazu wird
es in eine objektorientierte Klassenstruktur \"uberf\"uhrt, die einen
komfortablen Zugang und Bearbeitungs-APIs bietet und es erlaubt bekannte
Algorithmen und Analysen aus der Graphentheorie direkt anzuwenden. Das Werkzeug
ist bidirektional entworfen, es transformiert also ein Simulink-Modell in eine
Graphenrepresentation und umgekehrt.Comment: 10 pages in German, 7 figures. AALE 2013 in Stralsund Germany, 10.
Fachkonferenz, Das Forum f\"ur Fachleute der Automatisierungstechnik aus
Hochschulen und Wirtschaft, 201
Clone Detection in Matlab Stateflow Models
Matlab Simulink is one of the leading tools for model based software development in the automotive industry. One extension to Simulink is Stateflow, which allows the user to embed Statecharts as components in a Simulink Model. These state machines contain nested states, an action language that describes events, guards, conditions and actions and complex transitions. As Stateflow has become increasingly important in Simulink models for the automotive sector, we extend previous work on clone detection of Simulink models to Stateflow components