enter search term and/or author name
Precise memory leak detection for java software using container profiling
Guoqing Xu, Atanas Rountev
Article No.: 17
A memory leak in a Java program occurs when object references that are no longer needed are unnecessarily maintained. Such leaks are difficult to detect because static analysis typically cannot precisely identify these redundant references, and...
Marple: Detecting faults in path segments using automatically generated analyses
Wei Le, Mary Lou Soffa
Article No.: 18
Generally, a fault is a property violation at a program point along some execution path. To obtain the path where a fault occurs, we can either run the program or manually identify the execution paths through code inspection. In both of the cases,...
Fault localization prioritization: Comparing information-theoretic and coverage-based approaches
Shin Yoo, Mark Harman, David Clark
Article No.: 19
Test case prioritization techniques seek to maximize early fault detection. Fault localization seeks to use test cases already executed to help find the fault location. There is a natural interplay between the two techniques; once a fault is...
Bounded satisfiability checking of metric temporal logic specifications
Matteo Pradella, Angelo Morzenti, Pierluigi San Pietro
Article No.: 20
We introduce bounded satisfiability checking, a verification technique that extends bounded model checking by allowing also the analysis of a descriptive model, consisting of temporal logic formulae, instead of the more customary...
A complete and detailed (full) Design Rationale Documentation (DRD) could support many software development activities, such as an impact analysis or a major redesign. However, this is typically too onerous for systematic industrial use as it is...
Trading obliviousness for modularity with cooperative aspect-oriented programming
Kevin Hoffman, Patrick Eugster
Article No.: 22
The potential of aspect-oriented programming to adequately capture crosscutting concerns has yet to be fully realized. For example, authors have detailed significant challenges in creating reusable aspect component libraries. One proposed solution...
In a pattern-oriented software design process, design decisions are made by selecting and instantiating appropriate patterns, and composing them together. In our previous work, we enabled these decisions to be formalized by defining a set of...
Finite satisfiability of UML class diagrams with constrained class hierarchy
Mira Balaban, Azzam Maraee
Article No.: 24
Models lie at the heart of the emerging model-driven engineering approach. In order to guarantee precise, consistent, and correct models, there is a need for efficient powerful methods for verifying model correctness. Class diagram is the central...
Enabledness-based program abstractions for behavior validation
Guido De Caso, Victor Braberman, Diego Garbervetsky, Sebastian Uchitel
Article No.: 25
Code artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the...
Using a functional size measurement procedure to evaluate the quality of models in MDD environments
Beatriz Marín, Giovanni Giachetti, Oscar Pastor, Tanja E. J. Vos, Alain Abran
Article No.: 26
Models are key artifacts in Model-Driven Development (MDD) methods. To produce high-quality software by using MDD methods, quality assurance of models is of paramount importance. To evaluate the quality of models, defect detection is considered a...
Use case and task models: An integrated development methodology and its formal foundation
Daniel Sinnig, Patrice Chalin, Ferhat Khendek
Article No.: 27
User Interface (UI) development methods are poorly integrated with standard software engineering practice. The differences in terms of artifacts involved, development philosophies, and lifecycles can often result in inconsistent system and UI...