3,458 papers · page 151 of 173
Martin P. Robillard, Gail C. Murphy
When performing a program evolution task, developers typically spend a significant amount of effort investigating and reinvestigating source code. To reduce this effort, we propose a technique to automatically infer the essence of program investigation activities as a set of conc…
Grigore Rosu, Feng Chen
Measurement unit safety policy checking is a topic in software analysis concerned with ensuring that programs do not violate basic principles of units of measurement. Such violations can hide significant domain-specific errors which are hard or impossible to find otherwise. Measu…
Abhik Roychoudhury
Execution of a shared memory multi-threaded program is non-deterministic even for a fixed input. Consequently, a limited amount of the program behavior should be traced and recorded during run-time. However, if the tracing overheads are too high, we have the risk of slowing down …
Mehrdad Sabetzadeh, Steve M. Easterbrook
Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sou…
David Safránek
The work on a visual formalism for specification of concurrent systems is presented. It is proposed to match requirements of state-of-the-art component-based design methods. Special emphasis is given to specification of heterogeneous systems in which the different models of compu…
Aaron Searle, K. John Gough, David Abramson
The creation of a new program version based on an existing version is known as software evolution. In 1994, Abramson and Sosic proposed relative debugging to assist users to locate errors in programs developed with software evolutionary techniques. Relative debugging is a paradig…
Mohamed Shehata, Armin Eberlein
This paper deals with the problem of requirements interaction. We introduce a three level framework to detect requirements interactions at different levels of cost, time, and complexity. Level 2 where we use semiformal methods to detect interactions contains the main contribution…
Ilya Shlyakhter, Robert Seater, Daniel Jackson, Manu Sridharan, Mana Taghdiri
Declarative models, in which conjunction and negation are freely used, are susceptible to unintentional overconstraint. Core extraction is a new analysis that mitigates this problem in the context of a checker based on reduction to SAT (systems analysis tools). It exploits a rece…
Moacir C. da Silva Jr., Paulo Asterio de Castro Guerra, Cecília M. F. Rubira
This paper presents a component model for designing and implementing flexible software components in Java. Our model defines a mapping of how the fundamental concepts of component-based development (CBD) should be implemented using the object-oriented (OO) constructs, available i…
James Skene, Wolfgang Emmerich
We present an approach to managing formal models using model driven architecture (MDA) technologies that deliver analysis techniques through integration with the design tools and repositories that practitioners use. Expert modeling knowledge is captured in domain-specific languag…
Jason McC. Smith, P. David Stotts
Previous automated approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioral relationships, resulting in a finite library of variations on pattern implementation. Our approach, system for patte…
Noah Snavely, Saumya K. Debray, Gregory R. Andrews
Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations possibly even before it is known whether the results of the operation are needed. While such speculative execution can improve execut…
Andrew Strelzoff, Linda R. Petzold
Deriving user interface requirements is a key step in user interface generation and maintenance. For single purpose numeric routines, user interface requirements are relatively simple to derive. However, general numeric packages, which are solvers for entire classes of problems, …
Ingo Stürmer, Mirko Conrad
In model-based development, executable specifications (models) are used for the design of the software to be developed. New techniques allow the automatic generation of compact code directly from the model via so-called code generators. However, at present, code generators do not…
Eli Tilevich, Stephan Urbanski, Yannis Smaragdakis, Marc J. Fleury
We discuss how a collection of domain-specific and domain-independent tools can be combined to "aspectize" the distributed character of server-side applications, to a much greater extent than with prior efforts. Specifically, we present a framework that can be used with a large c…
Oksana Tkachuk, Matthew B. Dwyer, Corina S. Pasareanu
A key problem in model checking open systems is environment modeling (i.e., representing the behavior of the execution context of the system under analysis). Software systems are fundamentally open since their behavior is dependent on patterns of invocation of system components a…
Christopher J. Turner, T. C. Nicholas Graham, Christopher Wolfe, Julian Ball, David Holman, Hugh D. Stewart, Arthur G. Ryman
This paper presents visual constraint diagrams (VCD), an extension to UML (Unified Modeling Language) object diagrams for expressing constraints over object models. VCD allows designers to express well-formedness constraints that cannot be expressed using class diagrams alone; an…
Sebastiano Vigna
ERW (entity-relationship Web browser) is an innovative open-source system for handling complex databases using a Web browser. Once the details of an enhanced entity-relationship schema have been specified in XML (eXtended Markup Language), ERW generates a complete application tha…
David S. Wile
Engineers wield various "calculi" to help determine solutions to their problems, calculation tools varying in power from tensile strength tables to the differential calculus. A calculus is normally based on induction over an algebraic structure. Here the author explores how archi…
Tao Xie, David Notkin
Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and e…