3,458 papers · page 105 of 173
Mona Rahimi, Jane Cleland-Huang
Many software systems utilize forums to allow a broad set of stakeholders to request features. However the resulting mass of ideas and comments can make prioritization and management of feature requests challenging. In this paper we propose a novel approach for partially automati…
Ajitha Rajan, Subodh Sharma, Peter Schrammel, Daniel Kroening
As product life-cycles become shorter and the scale and complexity of systems increase, accelerating the execution of large test suites gains importance. Existing research has primarily focussed on techniques that reduce the size of the test suite. By contrast, we propose a techn…
Girish Maskeri Rama, Raghavan Komondoor
Creation of large numbers of co-existing long-lived isomorphic objects increases the memory footprint of applications significantly. In this paper we propose a dynamic-analysis based approach that detects allocation sites that create large numbers of long-lived isomorphic objects…
Venkatesh-Prasad Ranganath, Pradip Vallathol, Pankaj Gupta
When composing a system from components, we need to ensure that the components are compatible. This is commonly achieved by components interacting only via published and well-defined interfaces. Even so, it is possible for client components to learn about and depend on unpublishe…
Steven P. Reiss
User interface design and coding can be complex and messy. We describe a system that uses code search to simplify and automate the generation of such code. We start with a simple sketch of the desired interface along with a set of keywords describing the application context. We t…
Chuangang Ren, Kai Chen, Peng Liu
Software plagiarism in Android markets (app repackaging) is raising serious concerns about the health of the Android ecosystem. Existing app repackaging detection techniques fall short in detection efficiency and in resilience to circumventing attacks; this allows repackaged apps…
Anthony Romano, Dawson R. Engler
Symbolic execution calls for specialized address translation. Unlike a pointer on a traditional machine model, which corresponds to a single address, a symbolic pointer may represent multiple feasible addresses. A symbolic pointer dereference manipulates symbolic state, potential…
Johanna Schneider
Being confronted with a defect in software leads to the well known task: correcting the software such that the defect does not occur anymore. Here, the location of the defect and the corresponding root cause do not have to be identical. Thus, before any correction can be done, th…
Johanna Schneider
Being confronted with a defect in software leads to the well known task: correcting the software such that the defect does not occur anymore. Here, the location of the defect and the corresponding root cause do not have to be identical. Thus, before any correction can be done, th…
Sergio Segura, Ana Belén Sánchez, Antonio Ruiz Cortés
In this paper, we report on our experience on the development of La Hilandera, an e-commerce site selling haberdashery products and craft supplies in Europe. The store has a huge input space where customers can place almost three millions of different orders which made testing an…
Feng Shen, Namita Vishnubhotla, Chirag Todarka, Mohit Arora, Babu Dhandapani, Eric John Lehner, Steven Y. Ko, Lukasz Ziarek
This paper proposes Flow Permissions, an extension to the Android permission mechanism. Unlike the existing permission mechanism, our permission mechanism contains semantic information based on information flows. Flow Permissions allow users to examine and grant per-app informati…
Julian James Stephen, Savvas Savvides, Russell Seidel, Patrick Th. Eugster
The ubiquitous nature of computers is driving a massive increase in the amount of data generated by humans and machines. Two natural consequences of this are the increased efforts to (a) derive meaningful information from accumulated data and (b) ensure that data is not used for …
Alexander Tarvo, Steven P. Reiss
The behavior of multithreaded programs is often difficult to understand and predict. Synchronization operations and limited computational resources combine to produce complex non-linear dependencies between a program's configuration parameters and its performance. Performance mod…
Ferdian Thung, Pavneet Singh Kochhar, David Lo
To track bugs that appear in a software, developers often make use of a bug tracking system. Users can report bugs that they encounter in such a system. Bug reporting is inherently an uncoordinated distributed process though and thus when a user submits a new bug report, there mi…
Nikolai Tillmann, Jonathan de Halleux, Tao Xie
Producing industry impacts has been an important, yet challenging task for the research community. In this paper, we report experiences on successful technology transfer of Pex and its relatives (tools derived from or associated with Pex) from Microsoft Research and lessons learn…
Maxime Turenne, Ali Kanso, Abdelouahed Gherbi, Samer Razzook
Service availability is a key non-functional requirement that system architects and integrators seek to achieve. High Availability (HA) can be attained using a dedicated distributed HA middleware that can manage clustered redundant resources to maintain the continuous service del…
Naoyasu Ubayashi, Di Ai, Peiyuan Li, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei
This paper rethinks both modularity and compilation in the light of abstraction between design and implementation. We propose a new compilation approach called abstraction-aware verifying compiler, in which abstraction is the target of compilation. Both a design model and its cod…
Michael Vierhauser
An increasing number of software systems today are systems of systems (SoS) that have been developed by diverse teams over many years. Such systems emerge gradually and it is hard to analyze or predict their behavior due to their scale, complexity, and heterogeneity. In particula…
Andrei Voronkov
The design and architecture of every very large Web service is unique, and EasyChair is not an exception. This talk overviews design features of EasyChair, which may be interesting for the software engineering community.
Shaowei Wang, David Lo, Lingxiao Jiang
Code search techniques return relevant code fragments given a user query. They typically work in a passive mode: given a user query, a static list of code fragments sorted by the relevance scores decided by a code search technique is returned to the user. A user will go through t…