4,951 papers · page 136 of 248
Gary Wassermann, Zhendong Su
Web applications support many of our daily activities, but they often have security problems, and their accessibility makes them easy to exploit. In cross-site scripting (XSS), an attacker exploits the trust a web client (browser) has for a trusted server and executes injected sc…
Sven Wenzel, Udo Kelter
Model-driven development leads to development processes in which a large number of different versions of models are produced. We present FAME, a tool environment which enables fine-grained analysis of the version history of a model. The tool is generic in the sense that it can wo…
Jon Whittle, Duminda Wijesekera, Mark Hartong
Misuse cases are a way of modeling negative requirements, that is, behaviors that should not occur in a system. In particular, they can be used to model attacks on a system as well as the security mechanisms needed to avoid them. However, like use cases, misuse cases describe req…
Liang Xiao, Paul H. Lewis, Alex Gibb
In this paper, we describe the unique security issues involved in healthcare domains. These have been addressed to the needs of the HealthAgents project. In the proposed approach, several levels of security have been provided in accordance with Software Engineering principles, et…
Guoqing Xu, Atanas Rountev
A memory leak in a Java program occurs when object references that are no longer needed are unnecessarily maintained. Such leaks are difficult to understand because static analyses typically cannot precisely identify these redundant references, and existing dynamic analyses for l…
Cemal Yilmaz, Amit M. Paradkar, Clay Williams
We present an automatic fault localization technique which leverages time spectra as abstractions for program executions. Time spectra have been traditionally used for performance debugging. By contrast, we use them for functional correctness debugging by identifying pieces of pr…
Yanbing Yu, James A. Jones, Mary Jean Harrold
Fault-localization techniques that utilize information about all test cases in a test suite have been presented. These techniques use various approaches to identify the likely faulty part(s) of a program, based on information about the execution of the program with the test suite…
Thomas Zimmermann, Nachiappan Nagappan
In software development, resources for quality assurance are limited by time and by cost. In order to allocate resources effectively, managers need to rely on their experience backed by code complexity metrics. But often dependencies exist between various pieces of code over whic…
Robin Abraham, Martin Erwig
We present a spreadsheet debugger targeted at end users. Whenever the computed output of a cell is incorrect, the user can supply an expected value for a cell, which is employed by the system to generate a list of change suggestions for formulas that, when applied, would result i…
Eytan Adar, Miryung Kim
We introduce SoftGUESS, a code clone exploration system. SoftGUESS is built on the more general GUESS system which provides users with a mechanism to interactively explore graph structures both through direct manipulation as well as a domain-specific language. We demonstrate Soft…
Prasanth Anbalagan, Tao Xie
Software refactoring is the process of reorganizing the internal structure of code while preserving the external behavior. Aspect-Oriented Programming (AOP) provides new modularization of software systems by encapsulating crosscutting concerns. Based on these two techniques, aspe…
Marco Autili, Paola Inverardi, Alfredo Navarra, Massimo Tivoli
SYNTHESIS is a tool for automatically assembling correct and distributed component-based systems. In our context, a system is correct when it is deadlock-free and performs only specified component interactions. In order to automatically synthesize the correct composition code, SY…
Luciano Baresi, Carlo Ghezzi, Luca Mottola
The paper presents a novel approach based on Bogor for the accurate verification of applications based on Publish- Subscribe infrastructures. Previous efforts adopted standard model checking techniques to verify the application behavior, but they introduce strong simplifications …
Stefan Berner, Roland Weber, Rudolf K. Keller
Recently, tools for the analysis and visualization of code coverage have become widely available. At first glance, their value in assessing and improving the quality of automated test suites seems to be obvious. Yet, experimental studies as well as experience from projects in ind…
Bastian Best, Jan Jürjens, Bashar Nuseibeh
Given the explosive growth of digitally stored information in modern enterprises, distributed information systems together with search engines are increasingly used in companies. By enabling the user to search all relevant information sources with one single query, however, cruci…
Sven Burmester, Holger Giese, Stefan Henkler, Martin Hirsch, Matthias Tichy, Alfonso Gambuzza, Eckehard Münch, Henner Vöcking
The next generation of advanced mechatronic systems is expected to use its software to exploit local and global networking capabilities to enhance their functionality and to adapt their local behavior when beneficial. Such systems will therefore include complex hard real-time coo…
Andrea Capiluppi, Juan Fernández-Ramil, J. Higman, Helen C. Sharp, Neil Smith
We have analyzed evolution patterns over two and a half years for a system developed using extreme programming. We find that the system shows a smooth pattern of growth overall, that (McCabe) code complexity is low, and that the relative amount of complexity control work (e.g. re…
Jeffrey C. Carver, Richard P. Kendall, Susan E. Squires, Douglass E. Post
The need for high performance computing applications for computational science and engineering projects is growing rapidly, yet there have been few detailed studies of the software engineering process used for these applications. The DARPA High Productivity Computing Systems Prog…
Mikhail Chalabine, Christoph W. Kessler
We present a formal framework for a recently introduced approach to automated round-trip software engineering (ARE) in source-level aspect weaving systems. Along with the formalization we improve the original method and suggest a new concept of weaving transactions in aspect-orie…
Patrice Chalin
The verifying compiler (VC) project is a core component of the dependable systems evolution grand challenge. The VC offers the promise of automatically proving that a program or component is correct, where correctness is defined by program assertions. While several VC prototypes …