Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering 2017
DOI: 10.1145/3106237.3106275
|View full text |Cite
|
Sign up to set email alerts
|

Enabling mutation testing for Android apps

Abstract: Mutation testing has been widely used to assess the fault-detection effectiveness of a test suite, as well as to guide test case generation or prioritization. Empirical studies have shown that, while mutants are generally representative of real faults, an effective application of mutation testing requires "traditional" operators designed for programming languages to be augmented with operators specific to an application domain and/or technology. This paper proposes MDroid+, a framework for effective mutation t… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
55
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 71 publications
(56 citation statements)
references
References 74 publications
1
55
0
Order By: Relevance
“…Linares-Vásquez et al [52] also investigated android app bugs very recently, but our study significantly differs from theirs. We focuses on framework exceptions and give a comprehensive, deep analysis, including exception manifestations, root causes, abilities of existing bug analysis tools, and fixing practices.…”
Section: Discussionmentioning
confidence: 66%
“…Linares-Vásquez et al [52] also investigated android app bugs very recently, but our study significantly differs from theirs. We focuses on framework exceptions and give a comprehensive, deep analysis, including exception manifestations, root causes, abilities of existing bug analysis tools, and fixing practices.…”
Section: Discussionmentioning
confidence: 66%
“…Are they common to other GUI frameworks? To answer this, we conducted a thorough and careful inspection on (1) Android docs and APIs [23], including the principle of single-GUIthread model [40], various async programming constructs [27, 32-34, 37, 38, 41, 42], GUI components [21,28,30,36,43], etc; and (2) technical posts filtered from Stack Overflow (the largest developer Q&A community) by the keywords "Android" plus the names of async constructs, tutorials on async programming [13]; and (3) fault studies on Android [18,46,55,86]. Answer: We identified 3 async programming rules ( Fig.…”
Section: Formative Studymentioning
confidence: 99%
“…In order to ensure that MDroid+ is an effective, practical, and flexible/extensible tool for mutation testing, it takes into account the following design considerations: (i) an empirically derived set of mutation operators; (ii) a design embracing the open/closed principle (i.e., open to extension, closed to modification); (iii) visitor and factory design patterns for deriving the Potential Failure Profile (PFP) and applying operators, (iv) parallel computation for efficient mutant seeding. MDroid+ is written in Java and available as an open source project [18]. In the following sections, we describe MDroid+ according to its workflow described in Figure 1.…”
Section: Approachmentioning
confidence: 99%
“…In this paper, we consider non-compilable mutants as those that are syntactically incorrect and cause compilation/assembly errors, and trivial mutants as those that are killed arbitrarily by most test cases (e.g., crashing on launch). The trivial mutant study was supported by a large-scale dynamic analysis framework [17]. Figure 2 reports the results of (i) the percentage of non-compilable mutants (NCM), (ii) the percentage of trivial mutants (TM), and (iii) the total number of generated mutants per app.…”
Section: Evaluation 31 Study Contextmentioning
confidence: 99%
See 1 more Smart Citation