3,458 papers · page 118 of 173
Pit Pietsch, Hamed Shariat Yazdi, Udo Kelter
Test models are needed to evaluate and benchmark algorithms and tools in model driven development. Most model generators randomly apply graph operations on graph representations of models. This approach leads to test models of poor quality. Some approaches do not guarantee the ba…
Richard Pohl, Kim Lauenroth, Klaus Pohl
The formalization of variability models (e.g. feature models) is a prerequisite for the automated analysis of these models. The efficient execution of the analysis operations depends on the selection of well-suited solver implementations. Regarding feature models, on the one hand…
Daryl Posnett, Vladimir Filkov, Premkumar T. Devanbu
Software systems are decomposed hierarchically, for example, into modules, packages and files. This hierarchical decomposition has a profound influence on evolvability, maintainability and work assignment. Hierarchical decomposition is thus clearly of central concern for empirica…
Ariel Rabkin, Randy H. Katz
Complex software packages, particularly systems software, often require substantial customization before being used. Small mistakes in configuration can lead to hard-todiagnose error messages. We demonstrate how to build a map from each program point to the options that might cau…
Andres J. Ramirez, Adam C. Jensen, Betty H. C. Cheng, David B. Knoester
A dynamically adaptive system (DAS) monitors itself and its execution environment to evaluate requirements satisfaction at run time. Unanticipated environmental conditions may produce sensory inputs that alter the self-assessment capabilities of a DAS in unpredictable and undesir…
Ghulam Rasool, Patrick Mäder
Accurately recovered design patterns support development related tasks like program comprehension and reengineering. Researchers proposed a variety of recognition approaches already. Though, much progress was made, there is still a lack of accuracy and flexibility in recognition.…
Christoph Rathfelder, Samuel Kounev, David Evans
Event-based communication is used in different domains including telecommunications, transportation, and business information systems to build scalable distributed systems. The loose coupling of components in such systems makes it easy to vary the deployment. At the same time, th…
Brian Robinson, Michael D. Ernst, Jeff H. Perkins, Vinay Augustine, Nuo Li
This paper presents an automatic technique for generating maintainable regression unit tests for programs. We found previous test generation techniques inadequate for two main reasons. First. they were designed for and evaluated upon libraries rather than applications. Second, th…
Mark Robinson, Jianwei Niu, Macneil Shonle
Today's techniques for controlling access to software artifacts are limited to restricting access to whole files and directories. But when a company's access control policy does not match a project's existing physical modularization, these techniques require either an all-or-noth…
Parth Sagdeo, Viraj Athavale, Sumant Kowshik, Shobha Vasudevan
We propose PRECIS, a methodology for automatically generating invariants at function and loop boundaries through program path guided clustering. We instrument function inputs and outputs together with predicates for branch conditions and record their values during each execution.…
Francisco Servant, James A. Jones
To perform a number of tasks such as inferring design rationale from past code changes or assessing developer expertise for a software feature or bug, the evolution of a set of lines of code can be assessed by mining software histories. However, determining the evolution of a set…
Marcos Aurélio Almeida da Silva, Xavier Blanc, Reda Bendraou
Software development companies have been putting a lot of effort in adopting process models, however two main issues remain. On the one hand, process models are inherently incomplete, since companies can not capture all possible situations in a single model. On the other hand, ma…
Samaneh Soltani, Mohsen Asadi, Marek Hatala, Dragan Gasevic, Ebrahim Bagheri
In Software Product Line Engineering, concrete products of a family can be generated through a configuration process over a feature model. The configuration process selects features from the feature model according to the stakeholders' requirements. Selecting the right set of fea…
Edward Stehle, Kevin Lynch, Maxim Shevertalov, Chris Rorres, Spiros Mancoridis
Complex software systems have become commonplace in modern organizations and are considered critical to their daily operations. They are expected to run on a diverse set of platforms while interoperating with a wide variety of other applications. Although there have been advances…
Xiaobing Sun, Bixin Li
Software needs to be maintained and changed to cope with new requirement, existing faults and change requests as software evolves. One particular issue in software maintenance is how to deal with a change proposal before change implementation? Changes to software often cause unex…
Chengnian Sun, David Lo, Siau-Cheng Khoo, Jing Jiang
In a bug tracking system, different testers or users may submit multiple reports on the same bugs, referred to as duplicates, which may cost extra maintenance efforts in triaging and fixing bugs. In order to identify such duplicates accurately, in this paper we propose a retrieva…
Swetha Surapaneni, Venkata Krishna Suhas Nerella, Sanjay Kumar Madria, Thomas Weigert
Many useful programs operate on collection types. Extensive libraries are available in many programming languages, such as the C++ Standard Template Library, which make programming with collections convenient. Extending programming languages to provide collection queries as first…
Paolo Tell, Muhammad Ali Babar
Global software development (GSD) teams have to use multiple tools to perform both complex and even simple tasks involving many context switches that can be frustrating. To lessen these issues, researchers are looking at providing new plug-ins whereas commercial vendors are flood…
Gias Uddin, Barthélémy Dagenais, Martin P. Robillard
Software reuse through Application Programming Interfaces (APIs) is an integral part of software development. As developers write client programs, their understanding and usage of APIs change over time. Can we learn from long-term changes in how developers work with APIs in the l…
Zoltán Ujhelyi, Ákos Horváth, Dániel Varró
Model transformations are frequently used means for automating software development in various domains to improve quality and reduce production costs. Debugging of model transformations often necessitates identifying parts of the transformation program and the transformed models …