2,847 papers · page 105 of 143
Saswat Anand, Mayur Naik, Mary Jean Harrold, Hongseok Yang
We present an algorithm and a system for generating input events to exercise smartphone apps. Our approach is based on concolic testing and generates sequences of events automatically and systematically. It alleviates the path-explosion problem by checking a condition on program …
Dionysis Athanasopoulos, Apostolos V. Zarras, Panos Vassiliadis
The state of the art service search engines allow the users to pick the services they need, based on the quality properties, offered by these services. To this end, the users should interact with the search engines based on the quality models that are imposed by the engines. This…
Vinay Augustine
Automated program transformation can significantly improve the speed and accuracy of adaptive maintenance tasks. However, developers typically eschew program transformation because of the difficulty in creating, using, and maintaining transformations. They may also be unwilling t…
Dirk Beyer, Thomas A. Henzinger, M. Erkan Keremoglu, Philipp Wendler
Software model checking, as an undecidable problem, has three possible outcomes: (1) the program satisfies the specification, (2) the program does not satisfy the specification, and (3) the model checker fails. The third outcome usually manifests itself in a space-out, time-out, …
Christian Bird, Thomas Zimmermann
Branches within source code management systems (SCMs) allow a software project to divide work among its teams for concurrent development by isolating changes. However, this benefit comes with several costs: increased time required for changes to move through the system and pain a…
Matthias Book, Simon Grapenthin, Volker Gruhn
Large-scale information system development is often plagued by defects and deadline overruns that can be traced to insufficient communication within the project team, particularly between stakeholders from the business, technical and management side. Although agile process models…
Bora Caglayan, Ayse Tosun Misirli, Gul Calikli, Ayse Bener, Turgay Aytac, Burak Turhan
We present an integrated measurement and defect prediction tool: Dione. Our tool enables organizations to measure, monitor, and control product quality through learning based defect prediction. Similar existing tools either provide data collection and analytics, or work just as a…
Kyle R. Canavera, Naeem Esfahani, Sam Malek
An important challenge in dynamic adaptation of a software system is to prevent inconsistencies (failures) and disruptions in its operations during and after change. Several prior techniques have solved this problem with various tradeoffs. All of them, however, assume the availab…
Gerardo Canfora, Massimiliano Di Penta, Rocco Oliveto, Sebastiano Panichella
When newcomers join a software project, they need to be properly trained to understand the technical and organizational aspects of the project. Inadequate training could likely lead to project delay or failure.
Wing-Kwan Chan, Hong Cheng, David Lo
Reusing APIs of existing libraries is a common practice during software development, but searching suitable APIs and their usages can be time-consuming [6]. In this paper, we study a new and more practical approach to help users find usages of APIs given only simple text phrases,…
Mahinthan Chandramohan, Hee Beng Kuan Tan, Lwin Khin Shar
Anti-malware vendors receive several thousand new malware (malicious software) variants per day. Due to large volume of malware samples, it has become extremely important to group them based on their malicious characteristics. Grouping of malware variants that exhibit similar beh…
Bradley Cossette, Robert J. Walker
Application programming interfaces (APIs) are a common and industrially-relevant means for third-party software developers to reuse external functionality. Several techniques have been proposed to help migrate client code between library versions with incompatible APIs, but it is…
Gianpaolo Cugola, Carlo Ghezzi, Leandro Sales Pinto, Giordano Tamburrelli
In this demo we present SelfMotion: a declarative language and a run-time system conceived to support the development of adaptive, mobile applications, built as compositions of ad-hoc components, existing services and third party applications. The advantages of the approach and t…
Nicholas DiGiuseppe, James A. Jones
Before a fault can be fixed, it first must be understood. However, understanding why a system fails is often a difficult and time consuming process. While current automated-debugging techniques provide assistance in knowing where a fault is, developers are left unaided in underst…
Nicholas DiGiuseppe, James A. Jones
When attempting to determine the number and set of execution failures that are caused by particular faults, developers must perform an arduous task of investigating and diagnosing each individual failure. Researchers proposed failure-clustering techniques to automatically categor…
Michael Emmi, Akash Lal, Shaz Qadeer
We consider the algorithmic analysis of asynchronous software systems as a means for building reliable software. A key challenge in designing such analyses is identifying a concurrency model which does not extraneously introduce behaviors infeasible in the actual system, does not…
Naeem Esfahani, Kaveh Razavi, Sam Malek
Changing early architectural decisions of a system is both difficult and costly. It is very important for the architect to get them "right". However, in early design, the architect is often forced to make these decisions under uncertainty, i.e., not knowing the precise impact of …
Azadeh Farzan, P. Madhusudan, Niloofar Razavi, Francesco Sorrentino
We propose null-pointer dereferences as a target for finding bugs in concurrent programs using testing. A null-pointer dereference prediction engine observes an execution of a concurrent program under test and predicts alternate interleavings that are likely to cause null-pointer…
Mark Gabel, Zhendong Su
Specifications are necessary for nearly every software engineering task, but they are often missing or incomplete. "Specification mining" is a line of research promising to solve this problem through automated tools that infer specifications directly from existing programs. The s…
Malay K. Ganai, Dongyoon Lee, Aarti Gupta
Testing and debugging multi-threaded programs are notoriously difficult due to non-determinism not only in inputs but also in OS schedules. In practice, dynamic analysis and failure replay systems instrument the program to record events of interest in the test execution, e.g., pr…