3,458 papers · page 120 of 173
Marwan Abi-Antoun, Jeffrey M. Barnes
We present a semi-automated approach, SECORIA, for analyzing a security runtime architecture for security and for conformance to an object-oriented implementation. Type-checkable annotations describe architectural intent within the code, enabling a static analysis to extract a hi…
Norhayati Mohd. Ali, John G. Hosking, John C. Grundy, Jun Huh
This paper presents a new approach to specifying critics for domain-specific visual language tools using a visual and template-based approach. In this paper we describe our approach for specifying critics for domain-specific visual language tools. This allows target end-user tool…
Eduardo Cunha de Almeida, João Eugenio Marynowski, Gerson Sunyé, Patrick Valduriez
Testing distributed systems is challenging. Peer-to-peer (P2P) systems are composed of a high number of concurrent nodes distributed across the network. The nodes are also highly volatile (i.e., free to join and leave the system at any time). In this kind of system, a great deal …
Pongtip Aroonvatanaporn, Chatchai Sinthop, Barry W. Boehm
Accurate software cost and schedule estimations are essential especially for large software projects. However, once the required efforts have been estimated, little is done to recalibrate and reduce the uncertainty of the initial estimates. To address this problem, we have develo…
Hamid Bagheri, Yuanyuan Song, Kevin J. Sullivan
A key idea in modern software engineering is that we can and should make architectural style choices separately from choices about many other system properties. There is a fundamental separation of concerns implicit in this idea: given an application model that expresses system p…
Mihai Balint
Type hierarchies are an integral part of the object oriented software reuse machinery. Software flexibility can be increased through type inheritance which, if used in accordance with Liskov Substitution Principle (LSP) enables safe object substitution.
Moritz Balz, Michael Striewe, Michael Goedicke
Software under development is considered by developers at different levels of abstraction, often with formal model specifications that describe actual program code. However, there are semantic barriers between high-level specifications and the resulting programs. In this contribu…
Gabriele Bavota, Andrea De Lucia, Andrian Marcus, Rocco Oliveto
We propose a novel approach supporting the Extract Class refactoring. The proposed approach analyzes the (structural and semantic) similarity of the methods in a class in order to identify chains of strongly related methods. The identified method chains are used to define new cla…
Michael Becker, Volker Gruhn
A tremendous amount of software models has been created so far. This growing number of models adds to the fact that it gets more and more difficult to organise, structure, and reuse them. Thereby new software development projects cannot profit from existing knowledge. In our rese…
Thorsten Berger, Steven She, Rafael Lotufo, Andrzej Wasowski, Krzysztof Czarnecki
Variability models represent the common and variable features of products in a product line. Several variability modeling languages have been proposed in academia and industry; however, little is known about the practical use of such languages. We study and compare the constructs…
Benjamin Biegel, Stephan Diehl
Code clone detection is an enabling technology for plenty of applications, each having different requirements for a code clone detector. In the tool demonstration we present JCCD, a code clone detection API, which is based on a pipeline model. By combining and parameterizing pred…
Rafael V. Borges, Artur S. d'Avila Garcez, Luís C. Lamb
In software development, formal verification plays an important role in improving the quality and safety of products and processes. Model checking is a successful approach to verification, used both in academic research and industrial applications. One important improvement regar…
Jan Bosch
Large-scale software development, for the longest time, has relied heavily on centralized, process-centric approaches, such as CCMI. There are three trends that make applying a traditional approach increasingly infeasible, i.e. the increasing adoption of software product lines, g…
Quentin Boucher, Andreas Classen, Patrick Heymans, Arnaud Bourdoux, Laurent Demonceau
To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for the developers if the software was not thought at the …
Hugo Bruneliere, Jordi Cabot, Frédéric Jouault, Frédéric Madiot
International audience
Raymond P. L. Buse, Westley Weimer
Source code modifications are often documented with log messages. Such messages are a key component of software maintenance: they can help developers validate changes, locate and triage defects, and understand modifications. However, this documentation can be burdensome to create…
Xiaofan Chen
Traceability links between artifacts in a software system aid developers in comprehension, development, and effective management of the system. Traceability systems to date have been confronting the difficulties in retrieving relationships between artifacts with high quality and …
Deshan Cooray, Sam Malek, Roshanak Roshandel, David Kilgore
Situated software systems are an emerging class of systems that are predominantly pervasive, embedded, and mobile. They are marked with a high degree of unpredictability and dynamism in the execution context. At the same time, such systems often need to satisfy strict reliability…
Adam Duley, Chris Spandikow, Miryung Kim
During code review tasks, comparing two versions of a hardware design description using existing program differencing tools such as diff is inherently limited because existing program differencing tools implicitly assume sequential execution semantics, while hardware description …
Aristide Fattori, Roberto Paleari, Lorenzo Martignoni, Mattia Monga
We propose a framework that provides a programming interface to perform complex dynamic system-level analyses of deployed production systems. By leveraging hardware support for virtualization available nowadays on all commodity machines, our framework is completely transparent to…