4,951 papers · page 135 of 248
Romain Robbes, Michele Lanza
Our research is driven by the motivation that change must be put in the center, if one wants to understand the complex processes of software evolution. We built a toolset named SpyWare which, using a monitoring plug-in for integrated development environments (IDEs), tracks the ch…
Joseph R. Ruthruff, John Penix, J. David Morgenthaler, Sebastian G. Elbaum, Gregg Rothermel
Static analysis tools report software defects that may or may not be detected by other verification methods. Two challenges complicating the adoption of these tools are spurious false positive warnings and legitimate warnings that are not acted on. This paper reports automated su…
Mehrdad Sabetzadeh, Shiva Nejati, Steve M. Easterbrook, Marsha Chechik
We present TReMer+, a tool for consistency checking of distributed models (i.e., models developed by distributed teams). TReMer+ works by first constructing a merged model before checking consis-tency. This enables a flexible way of verifying global consistency properties that is…
Sriram Sankaranarayanan, Franjo Ivancic, Aarti Gupta
Software libraries organize useful functionalities in order to promote modularity and code reuse. A typical library is used by client programs through an application programming interface (API) that hides its internals from the client. Typically, the rules governing the correct u…
Christopher Scaffidi, Brad A. Myers, Mary Shaw
Programmers often omit input validation when inputs can appear in many different formats or when validation criteria cannot be precisely specified. To enable validation in these situations, we present a new technique that puts valid inputs into a consistent format and that identi…
Christopher Scaffidi, Brad A. Myers, Mary Shaw
End-user programming tools for creating spreadsheets and webforms offer no data types except "string" for storing many kinds of data, such as person names and street addresses. Consequently, these tools cannot automatically validate these data.
Thorsten Schäfer, Jan Jonas, Mira Mezini
Framework evolution may break existing users, which need to be migrated to the new framework version. This is a tedious and error-prone process that benefits from automation. Existing approaches compare two versions of the framework code in order to find changes caused by refacto…
Holger Scherl, Stefan Hoppe, Markus Kowarschik, Joachim Hornegger
The design and implementation of the reconstruction system in medical X-ray imaging is a challenging issue due to its immense computational demands. In order to ensure an efficient clinical workflow it is inevitable to meet high performance requirements. Hence, the usage of hardw…
Andreas Scholz, Christian Buckl, Alfons Kemper, Alois C. Knoll, Jörg Heuer, Martin Winter
Recently, a move from traditional, network specific multimedia services to IP-based solutions could be observed. Although many of these applications have similar requirements and address the same issues, individual solutions based on specialized protocols are commonly used. This …
German E. Sibay, Sebastián Uchitel, Víctor A. Braberman
Scenario-based specifications are a popular means for describing intended system behaviour. We aim to facilitate early analysis of system behaviour and the development of behaviour models in conjunction with scenarios. In this paper we define a novel scenario-based specification …
Sylvain Sicard, Fabienne Boyer, Noel De Palma
Components are widely used for managing distributed applications because they not only capture the software architecture of managed applications as an assembly of components but also permit to dynamically adapt these applications to changing environments. Following this approach,…
Clauirton de Siebra, Paulo H. R. Costa, Andre Luís de Medeiros Santos, Fabio Q. B. da Silva
The wireless network evolution has allowed that the handset technology provides a broad and new set of resources and facilities to their users. However, this evolution is also increasing the number and complexity of testing prior to handsets deployment, so that there is a need to…
Cleidson R. B. de Souza, David F. Redmiles
Different approaches and tools have been proposed to support change impact analysis, i.e., the identification of the potential consequences of a change, or the estimation of what needs to be modified to accomplish a change. However, just a few empirical studies of software develo…
Diomidis Spinellis
The FreeBSD, GNU/Linux, Solaris, and Windows operating systems have kernels that provide comparable facilities. Interestingly, their code bases share almost no common parts, while their development processes vary dramatically. We analyze the source code of the four systems by col…
Kai Stapel, Daniel Lübke, Eric Knauss
Teaching (and therefore learning) eXtreme Programming (XP) in a university setting is difficult because of course time limitations and the soft nature of XP that requires first-hand experience in order to see and really learn the methods. For example, iterations are either shorte…
Margaret-Anne D. Storey, Jody Ryall, R. Ian Bull, Del Myers, Janice Singer
Software development is a highly collaborative activity that requires teams of developers to continually manage and coordinate their programming tasks. In this paper, we describe an empirical study that explored how task annotations embedded within the source code play a role in …
Marlon Vieira, Xiping Song, Gilberto Matos, Stephan Storck, Rajanikanth Tanikella, William M. Hasling
Healthcare software systems are becoming more and more complex since they will be highly integrated to support a wide variety of healthcare workflows (e.g., financial, administration, diagnosis, and treatment). In addition, healthcare software systems will be more safety-critical…
Gursimran Singh Walia, Jeffrey C. Carver, Nachiappan Nagappan
Inspections can be made more cost-effective by using capture-recapture methods to estimate post-inspection defects. Previous capture-recapture studies of inspections used relatively small data sets compared with those used in biology and wildlife research (the origin of the model…
Yanyan Wang, Antonio Carzaniga, Alexander L. Wolf
Experimentation is an essential tool employed by the developers of software systems, especially distributed systems. In prior work we developed a model-driven framework for automating various experimentation tasks, such as workload generation, and demonstrated that it gives the e…
Xiaoyin Wang, Lu Zhang, Tao Xie, John Anvik, Jiasu Sun
An open source project typically maintains an open bug repository so that bug reports from all over the world can be gathered. When a new bug report is submitted to the repository, a person, called a triager, examines whether it is a duplicate of an existing bug report. If it is,…