4,951 papers · page 137 of 248
Haibo Chen, Jie Yu, Rong Chen, Binyu Zang, Pen-Chung Yew
This paper presents POLUS, a software maintenance tool capable of iteratively evolving running software into newer versions. POLUS's primary goal is to increase the dependability of contemporary server software, which is frequently disrupted either by external attacks or by sched…
Li-Te Cheng, Michael Desmond, Margaret-Anne D. Storey
A common form of live technical presentation is that given by programmers for a programming audience during conferences, demonstrations, code reviews, and tutorials. Such presentations require manual switching between general presentation software and the integrated development e…
Ophelia C. Chesley, Xiaoxia Ren, Barbara G. Ryder, Frank Tip
Crisp is an Eclipse plug-in tool for constructing intermediate versions of a Java program that is being edited. After a long editing session, a programmer will run regression tests to make sure she has not invalidated previously tested functionality. If a test fails unexpectedly,…
Jan Chong, Tom Hurlbutt
This paper presents data from a four month ethnographic study of professional pair programmers from two software development teams. Contrary to the current conception of pair programmers, the pairs in this study did not hew to the separate roles of "driver" and "navigator". Inste…
James A. Clause, Alessandro Orso
It is difficult to fully assess the quality of software in- house, outside the actual time and context in which it will execute after deployment. As a result, it is common for software to manifest field failures, failures that occur on user machines due to untested behavior. Fiel…
David Coppit, Robert R. Painter, Meghan Revelle
Software evolution is made difficult by the need to integrate new features with all previously implemented features in the system. We present Spotlight, a prototype editor for software plans that seeks to address this problem by providing the programmer a principled way to separa…
Lars-Ola Damm, Lars Lundberg
To shorten time-to-market and improve customer satisfaction, software development companies commonly want to use metrics for assessing and improving the performance of their development projects. This paper describes a measurement concept for assessing how good an organization is…
Danny Dig, Kashif Manzoor, Ralph E. Johnson, Tien N. Nguyen
Current text based software configuration management (SCM) systems have trouble with refactorings. Refactorings result in global changes and lead to merge conflicts. A refactoring-aware SCM system reduces merge conflicts, preserves program history better and makes it easier to un…
Ekwa Duala-Ekoko, Martin P. Robillard
Code clones are generally considered harmful in software development, and the predominant approach is to try to eliminate them through refactoring. However, recent research has provided evidence that it may not always be practical, feasible, or cost-effective to eliminate certain…
Louwarnoud van der Duim, Jesper Andersson, Marco Sinnema
Recent publications indicate the importance of software engineering in the computer science curriculum. In this paper, we present the final part of software engineering education at University of Groningen in the Netherlands and Vaxjo University in Sweden, where student teams per…
Matthew B. Dwyer, Sebastian G. Elbaum, Suzette Person, Rahul Purandare
Model checkers search the space of possible program behaviors to detect errors and to demonstrate their absence. Despite major advances in reduction and optimization techniques, state-space search can still become cost-prohibitive as program size and complexity increase. In this …
Matthew B. Dwyer, Alex Kinneer, Sebastian G. Elbaum
Analyzing a program run can provide important insights about its correctness. Dynamic analysis of complex correctness properties, however, usually results in significant run-time overhead and, consequently, it is rarely used in practice. In this paper, we present an approach for …
Alexander Egyed
Changes are inevitable during software development and so are their unintentional side effects. The focus of this paper is on UML design models, where unintentional side effects lead to inconsistencies. We demonstrate that a tool can assist the designer in discovering unintention…
Alexander Egyed
Large design models contain thousands of model elements. Designers easily get overwhelmed maintaining the consistency of such design models over time. Not only is it hard to detect new inconsistencies while the model changes but it also hard to keep track of known inconsistencies…
Sebastian G. Elbaum, Suzette Person, Jonathan Dokulil, Matthew Jorde
Software testing efforts account for a large part of software development costs. However, as educators, we struggle to properly prepare students to perform software testing activities. This struggle is caused by multiple factors: (1) it is challenging to effectively incorporate s…
Brian Ellis, Jeffrey Stylos, Brad A. Myers
The usability of software APIs is an important and infrequently researched topic. A user study comparing the usability of the factory pattern and constructors in API designs found highly significant results indicating that factories are detrimental to API usability in several var…
Analia Irigoyen Ferreiro Ferreira, Gleison Santos, Roberta Cerqueira, Mariano Montoni, Ahilton Silva Barreto, Andréa Oliveira Soares Barreto, Ana Regina Rocha
Customer satisfaction, quality improvement and rework reduction are known to be the most important benefits obtained through deployment of software process maturity models and standards within an organization. Since 2003 BL Informatica has been motivated and has established and m…
Lorenz Froihofer, Gerhard Glos, Johannes Osrael, Karl M. Göschka
Integrity is a dependability attribute partially ensured through runtime validation of integrity constraints. A wide range of different constraint validation approaches exists-ranging from simple if conditions over explicit constraint validation methods and contract specification…
Chen Fu, Barbara G. Ryder
Although it is common in large Java programs to rethrow exceptions, existing exception-flow analyses find only single exception-flow links, thus are unable to identify multiple-link exception propagation paths. This paper presents a new static analysis that, when combined with pr…
Vinod Ganapathy, Dave King, Trent Jaeger, Somesh Jha
This paper presents an approach to statically retrofit legacy servers with mechanisms for authorization policy enforcement. The approach is based upon the observation that security-sensitive operations performed by a server are characterized by idiomatic resource manipulations, c…