Regression test selection speeds up regression testing by re-running only the tests that can be affected by the most recent code changes. Much progress has been made on research in automated test selection over the last three decades, but it has not ... expand
The Next Generation Air Transportation System (NextGen) advocates the use of innovative algorithms and software to address the increasing load on air-traffic control. AutoResolver [12] is a large, complex NextGen component that provides separation assurance ... expand
Transferring an automated test generation tool to practice: from pex to fakes and code digger
Nikolai Tillmann, Jonathan de Halleux, Tao Xie
Pages: 385-396
doi>10.1145/2642937.2642941
Full text: PDFPDF
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 ... expand
Angels and monsters: an empirical investigation of potential test effectiveness and efficiency improvement from strongly subsuming higher order mutation
Mark Harman, Yue Jia, Pedro Reales Mateo, Macario Polo
Pages: 397-408
doi>10.1145/2642937.2643008
Full text: PDFPDF
We study the simultaneous test effectiveness and efficiency improvement achievable by Strongly Subsuming Higher Order Mutants (SSHOMs), constructed from 15,792 first order mutants in four Java programs. Using SSHOMs in place of the first order mutants ... expand
SESSION: Product lines
Scaling exact multi-objective combinatorial optimization by parallelization
Jianmei Guo, Edward Zulkoski, Rafael Olaechea, Derek Rayside, Krzysztof Czarnecki, Sven Apel, Joanne M. Atlee
Pages: 409-420
doi>10.1145/2642937.2642971
Full text: PDFPDF
Multi-Objective Combinatorial Optimization (MOCO) is fundamental to the development and optimization of software systems. We propose five novel parallel algorithms for solving MOCO problems exactly and efficiently. Our algorithms rely on off-the-shelf ... expand
42 variability bugs in the linux kernel: a qualitative analysis
Iago Abal, Claus Brabrand, Andrzej Wasowski
Pages: 421-432
doi>10.1145/2642937.2642990
Full text: PDFPDF
Feature-sensitive verification pursues effective analysis of the exponentially many variants of a program family. However, researchers lack examples of concrete bugs induced by variability, occurring in real large-scale systems. Such a collection of ... expand
Automating the formalization of product comparison matrices
Guillaume Bécan, Nicolas Sannier, Mathieu Acher, Olivier Barais, Arnaud Blouin, Benoit Baudry
Pages: 433-444
doi>10.1145/2642937.2643000
Full text: PDFPDF
Product Comparison Matrices (PCMs) form a rich source of data for comparing a set of related and competing products over numerous features. Despite their apparent simplicity, PCMs contain heterogeneous, ambiguous, uncontrolled and partial information ... expand
Tracking load-time configuration options
Max Lillack, Christian Kästner, Eric Bodden
Pages: 445-456
doi>10.1145/2642937.2643001
Full text: PDFPDF
Highly-configurable software systems are pervasive, although configuration options and their interactions raise complexity of the program and increase maintenance effort. Especially load-time configuration options, such as parameters from command-line ... expand
SESSION: Data mining II
Statistical learning approach for mining API usage mappings for code migration
Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, Tien N. Nguyen
Pages: 457-468
doi>10.1145/2642937.2643010
Full text: PDFPDF
The same software product nowadays could appear in multiple platforms and devices. To address business needs, software companies develop a software product in a programming language and then migrate it to another one. To support that process, semi-automatic ... expand
Compatibility testing using patterns-based trace comparison
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 ... expand
Personas in the middle: automated support for creating personas as focal points in feature gathering forums
Mona Rahimi, Jane Cleland-Huang
Pages: 479-484
doi>10.1145/2642937.2642958
Full text: PDFPDF
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 ... expand
Constructing adaptive configuration dialogs using crowd data
As modern software systems grow in size and complexity so do their configuration possibilities. Users are easy to be confused and overwhelmed by the amount of choices they need to make in order to fit their systems to their exact needs. We propose a ... expand
SESSION: Analysis of web applications
Validating ajax applications using a delay-based mutation technique
Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden
Pages: 491-502
doi>10.1145/2642937.2642996
Full text: PDFPDF
The challenge of validating Asynchronous JavaScript and XML (Ajax) applications lies in actual errors exposed in a user environment. Several studies have proposed effective and efficient testing techniques to identify executable faults. However, the ... expand
Static, lightweight includes resolution for PHP
Mark Hills, Paul Klint, Jurgen J. Vinju
Pages: 503-514
doi>10.1145/2642937.2643017
Full text: PDFPDF
Dynamic languages include a number of features that are challenging to model properly in static analysis tools. In PHP, one of these features is the include expression, where an arbitrary expression provides the path of the file to include at runtime. ... expand
Information flows as a permission mechanism
Feng Shen, Namita Vishnubhotla, Chirag Todarka, Mohit Arora, Babu Dhandapani, Eric John Lehner, Steven Y. Ko, Lukasz Ziarek
Pages: 515-526
doi>10.1145/2642937.2643018
Full text: PDFPDF
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 ... expand
SESSION: Model-driven engineering
Improving the accuracy of oracle verdicts through automated model steering
The oracle - a judge of the correctness of the system under test (SUT) - is a major component of the testing process. Specifying test oracles is challenging for some domains, such as real-time embedded systems, where small changes in timing or sensory ... expand
Automated domain-specific C verification with mbeddr
Zaur Molotnikov, Markus Völter, Daniel Ratiu
Pages: 539-550
doi>10.1145/2642937.2642938
Full text: PDFPDF
When verifying C code, two major problems must be addressed. One is the specification of the verified systems properties, the other one is the construction of the verification environment. Neither C itself, nor existing C verification tools, offer the ... expand
Pattern-based auto-completion of UML modeling activities
Tobias Kuschke, Patrick Mäder
Pages: 551-556
doi>10.1145/2642937.2642949
Full text: PDFPDF
Auto-completion of textual inputs when using IDEs benefits software development experts and novices. Researchers demonstrated that auto-completion is beneficial for graphical modeling tasks as well. However, supporting software development by auto-completing ... expand
Abstraction-aware verifying compiler for yet another MDD
Naoyasu Ubayashi, Di Ai, Peiyuan Li, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei
Pages: 557-562
doi>10.1145/2642937.2642952
Full text: PDFPDF
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. ... expand
SESSION: Testing II
An empirical evaluation and comparison of manual and automated test selection
Milos Gligoric, Stas Negara, Owolabi Legunsen, Darko Marinov Pages: 361-372 doi>10.1145/2642937.2643019 Full text: PDFPDF
Regression test selection speeds up regression testing by re-running only the tests that can be affected by the most recent code changes. Much progress has been made on research in automated test selection over the last three decades, but it has not ... expand
Taming test inputs for separation assurance
Dimitra Giannakopoulou, Falk Howar, Malte Isberner, Todd Lauderdale, Zvonimir Rakamarić, Vishwanath Raman Pages: 373-384 doi>10.1145/2642937.2642940 Full text: PDFPDF
The Next Generation Air Transportation System (NextGen) advocates the use of innovative algorithms and software to address the increasing load on air-traffic control. AutoResolver [12] is a large, complex NextGen component that provides separation assurance ... expand
Transferring an automated test generation tool to practice: from pex to fakes and code digger
Nikolai Tillmann, Jonathan de Halleux, Tao Xie Pages: 385-396 doi>10.1145/2642937.2642941 Full text: PDFPDF
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 ... expand
Angels and monsters: an empirical investigation of potential test effectiveness and efficiency improvement from strongly subsuming higher order mutation
Mark Harman, Yue Jia, Pedro Reales Mateo, Macario Polo Pages: 397-408 doi>10.1145/2642937.2643008 Full text: PDFPDF
We study the simultaneous test effectiveness and efficiency improvement achievable by Strongly Subsuming Higher Order Mutants (SSHOMs), constructed from 15,792 first order mutants in four Java programs. Using SSHOMs in place of the first order mutants ... expand
SESSION: Product lines
Scaling exact multi-objective combinatorial optimization by parallelization
Jianmei Guo, Edward Zulkoski, Rafael Olaechea, Derek Rayside, Krzysztof Czarnecki, Sven Apel, Joanne M. Atlee Pages: 409-420 doi>10.1145/2642937.2642971 Full text: PDFPDF
Multi-Objective Combinatorial Optimization (MOCO) is fundamental to the development and optimization of software systems. We propose five novel parallel algorithms for solving MOCO problems exactly and efficiently. Our algorithms rely on off-the-shelf ... expand
42 variability bugs in the linux kernel: a qualitative analysis
Iago Abal, Claus Brabrand, Andrzej Wasowski Pages: 421-432 doi>10.1145/2642937.2642990 Full text: PDFPDF
Feature-sensitive verification pursues effective analysis of the exponentially many variants of a program family. However, researchers lack examples of concrete bugs induced by variability, occurring in real large-scale systems. Such a collection of ... expand
Automating the formalization of product comparison matrices
Guillaume Bécan, Nicolas Sannier, Mathieu Acher, Olivier Barais, Arnaud Blouin, Benoit Baudry Pages: 433-444 doi>10.1145/2642937.2643000 Full text: PDFPDF
Product Comparison Matrices (PCMs) form a rich source of data for comparing a set of related and competing products over numerous features. Despite their apparent simplicity, PCMs contain heterogeneous, ambiguous, uncontrolled and partial information ... expand
Tracking load-time configuration options
Max Lillack, Christian Kästner, Eric Bodden Pages: 445-456 doi>10.1145/2642937.2643001 Full text: PDFPDF
Highly-configurable software systems are pervasive, although configuration options and their interactions raise complexity of the program and increase maintenance effort. Especially load-time configuration options, such as parameters from command-line ... expand
SESSION: Data mining II
Statistical learning approach for mining API usage mappings for code migration
Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, Tien N. Nguyen Pages: 457-468 doi>10.1145/2642937.2643010 Full text: PDFPDF
The same software product nowadays could appear in multiple platforms and devices. To address business needs, software companies develop a software product in a programming language and then migrate it to another one. To support that process, semi-automatic ... expand
Compatibility testing using patterns-based trace comparison
Venkatesh-Prasad Ranganath, Pradip Vallathol, Pankaj Gupta Pages: 469-478 doi>10.1145/2642937.2642942 Full text: PDFPDF
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 ... expand
Personas in the middle: automated support for creating personas as focal points in feature gathering forums
Mona Rahimi, Jane Cleland-Huang Pages: 479-484 doi>10.1145/2642937.2642958 Full text: PDFPDF
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 ... expand
Constructing adaptive configuration dialogs using crowd data
Saeideh Hamidi, Periklis Andritsos, Sotirios Liaskos Pages: 485-490 doi>10.1145/2642937.2642960 Full text: PDFPDF
As modern software systems grow in size and complexity so do their configuration possibilities. Users are easy to be confused and overwhelmed by the amount of choices they need to make in order to fit their systems to their exact needs. We propose a ... expand
SESSION: Analysis of web applications
Validating ajax applications using a delay-based mutation technique Yuta Maezawa, Kazuki Nishiura, Hironori Washizaki, Shinichi Honiden Pages: 491-502 doi>10.1145/2642937.2642996 Full text: PDFPDF
The challenge of validating Asynchronous JavaScript and XML (Ajax) applications lies in actual errors exposed in a user environment. Several studies have proposed effective and efficient testing techniques to identify executable faults. However, the ... expand
Static, lightweight includes resolution for PHP
Mark Hills, Paul Klint, Jurgen J. Vinju Pages: 503-514 doi>10.1145/2642937.2643017 Full text: PDFPDF
Dynamic languages include a number of features that are challenging to model properly in static analysis tools. In PHP, one of these features is the include expression, where an arbitrary expression provides the path of the file to include at runtime. ... expand
Information flows as a permission mechanism
Feng Shen, Namita Vishnubhotla, Chirag Todarka, Mohit Arora, Babu Dhandapani, Eric John Lehner, Steven Y. Ko, Lukasz Ziarek Pages: 515-526 doi>10.1145/2642937.2643018 Full text: PDFPDF
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 ... expand
SESSION: Model-driven engineering
Improving the accuracy of oracle verdicts through automated model steering
Gregory Gay, Sanjai Rayadurgam, Mats P.E. Heimdahl Pages: 527-538 doi>10.1145/2642937.2642989 Full text: PDFPDF
The oracle - a judge of the correctness of the system under test (SUT) - is a major component of the testing process. Specifying test oracles is challenging for some domains, such as real-time embedded systems, where small changes in timing or sensory ... expand
Automated domain-specific C verification with mbeddr
Zaur Molotnikov, Markus Völter, Daniel Ratiu Pages: 539-550 doi>10.1145/2642937.2642938 Full text: PDFPDF
When verifying C code, two major problems must be addressed. One is the specification of the verified systems properties, the other one is the construction of the verification environment. Neither C itself, nor existing C verification tools, offer the ... expand
Pattern-based auto-completion of UML modeling activities
Tobias Kuschke, Patrick Mäder Pages: 551-556 doi>10.1145/2642937.2642949 Full text: PDFPDF
Auto-completion of textual inputs when using IDEs benefits software development experts and novices. Researchers demonstrated that auto-completion is beneficial for graphical modeling tasks as well. However, supporting software development by auto-completing ... expand
Abstraction-aware verifying compiler for yet another MDD
Naoyasu Ubayashi, Di Ai, Peiyuan Li, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei Pages: 557-562 doi>10.1145/2642937.2642952 Full text: PDFPDF
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. ... expand