Predicting the Fault Revelation Utility of MutantsTitcheu Chekam, Thierry ; Papadakis, Mike ; Bissyande, Tegawendé François D Assise et alin 40th International Conference on Software Engineering, Gothenburg, Sweden, May 27 - 3 June 2018 (2018) Detailed reference viewed: 358 (22 UL) Model-based mutant equivalence detection using automata language equivalence and simulations; ; Papadakis, Mike et alin Journal of Systems and Software (2018) Detailed reference viewed: 229 (3 UL) How effective are mutation testing tools? An empirical analysis of Java mutation testing tools with manual analysis and real faultsKintis, Marinos ; Papadakis, Mike ; et alin Empirical Software Engineering (2018) Mutation analysis is a well-studied, fault-based testing technique. It requires testers to design tests based on a set of artificial defects. The defects help in performing testing activities by measuring ... [more ▼] Mutation analysis is a well-studied, fault-based testing technique. It requires testers to design tests based on a set of artificial defects. The defects help in performing testing activities by measuring the ratio that is revealed by the candidate tests. Unfortunately, applying mutation to real-world programs requires automated tools due to the vast number of defects involved. In such a case, the effectiveness of the method strongly depends on the peculiarities of the employed tools. Thus, when using automated tools, their implementation inadequacies can lead to inaccurate results. To deal with this issue, we cross-evaluate four mutation testing tools for Java, namely PIT, muJava, Major and the research version of PIT, PITRV, with respect to their fault-detection capabilities. We investigate the strengths of the tools based on: a) a set of real faults and b) manual analysis of the mutants they introduce. We find that there are large differences between the tools’ effectiveness and demonstrate that no tool is able to subsume the others. We also provide results indicating the application cost of the method. Overall, we find that PITRV achieves the best results. In particular, PITRV outperforms the other tools by finding 6% more faults than the other tools combined. [less ▲] Detailed reference viewed: 327 (9 UL) Enabling the Continous Analysis of Security Vulnerabilities with VulData7Jimenez, Matthieu ; Le Traon, Yves ; Papadakis, Mike ![]() in IEEE International Working Conference on Source Code Analysis and Manipulation (2018) Detailed reference viewed: 416 (38 UL) Mutant Quality IndicatorsPapadakis, Mike ; Titcheu Chekam, Thierry ; Le Traon, Yves ![]() in 13th International Workshop on Mutation Analysis (MUTATION'18) (2018) Detailed reference viewed: 388 (20 UL) Feature location benchmark for extractive software product line adoption research using realistic and synthetic Eclipse variants; ; Papadakis, Mike et alin Information and Software Technology (2018) Detailed reference viewed: 284 (5 UL) An Empirical Study on Mutation, Statement and Branch Coverage Fault Revelation that Avoids the Unreliable Clean Program AssumptionTitcheu Chekam, Thierry ; Papadakis, Mike ; Le Traon, Yves et alin International Conference on Software Engineering (ICSE 2017) (2017, May 28) Many studies suggest using coverage concepts, such as branch coverage, as the starting point of testing, while others as the most prominent test quality indicator. Yet the relationship between coverage ... [more ▼] Many studies suggest using coverage concepts, such as branch coverage, as the starting point of testing, while others as the most prominent test quality indicator. Yet the relationship between coverage and fault-revelation remains unknown, yielding uncertainty and controversy. Most previous studies rely on the Clean Program Assumption, that a test suite will obtain similar coverage for both faulty and fixed (‘clean’) program versions. This assumption may appear intuitive, especially for bugs that denote small semantic deviations. However, we present evidence that the Clean Program Assumption does not always hold, thereby raising a critical threat to the validity of previous results. We then conducted a study using a robust experimental methodology that avoids this threat to validity, from which our primary finding is that strong mutation testing has the highest fault revelation of four widely-used criteria. Our findings also revealed that fault revelation starts to increase significantly only once relatively high levels of coverage are attained. [less ▲] Detailed reference viewed: 530 (44 UL) Detecting Trivial Mutant Equivalences via Compiler OptimisationsKintis, Marinos ; Papadakis, Mike ; et alin IEEE Transactions on Software Engineering (2017) Detailed reference viewed: 326 (8 UL) Assessing and Improving the Mutation Testing Practice of PIT; Papadakis, Mike ; Kintis, Marinos et alin 10th IEEE International Conference on Software Testing, Verification and Validation (2017) Detailed reference viewed: 276 (9 UL) Static Analysis of Android Apps: A Systematic Literature ReviewLi, Li ; Bissyande, Tegawendé François D Assise ; Papadakis, Mike et alin Information and Software Technology (2017) Context: Static analysis exploits techniques that parse program source code or bytecode, often traversing program paths to check some program properties. Static analysis approaches have been proposed for ... [more ▼] Context: Static analysis exploits techniques that parse program source code or bytecode, often traversing program paths to check some program properties. Static analysis approaches have been proposed for different tasks, including for assessing the security of Android apps, detecting app clones, automating test cases generation, or for uncovering non-functional issues related to performance or energy. The literature thus has proposed a large body of works, each of which attempts to tackle one or more of the several challenges that program analysers face when dealing with Android apps. Objective: We aim to provide a clear view of the state-of-the-art works that statically analyse Android apps, from which we highlight the trends of static analysis approaches, pinpoint where the focus has been put, and enumerate the key aspects where future researches are still needed. Method: We have performed a systematic literature review (SLR) which involves studying 124 research papers published in software engineering, programming languages and security venues in the last 5 years (January 2011 - December 2015). This review is performed mainly in five dimensions: problems targeted by the approach, fundamental techniques used by authors, static analysis sensitivities considered, android characteristics taken into account and the scale of evaluation performed. Results: Our in-depth examination has led to several key findings: 1) Static analysis is largely performed to uncover security and privacy issues; 2) The Soot framework and the Jimple intermediate representation are the most adopted basic support tool and format, respectively; 3) Taint analysis remains the most applied technique in research approaches; 4) Most approaches support several analysis sensitivities, but very few approaches consider path-sensitivity; 5) There is no single work that has been proposed to tackle all challenges of static analysis that are related to Android programming; and 6) Only a small portion of state-of-the-art works have made their artefacts publicly available. Conclusion: The research community is still facing a number of challenges for building approaches that are aware altogether of implicit-Flows, dynamic code loading features, reflective calls, native code and multi-threading, in order to implement sound and highly precise static analyzers. [less ▲] Detailed reference viewed: 561 (13 UL) Towards Security-aware Mutation Testing; ; et al in The 12th International Workshop on Mutation Analysis (Mutation 2017) (2017) Detailed reference viewed: 251 (5 UL) On the Naturalness of MutantsJimenez, Matthieu ; Cordy, Maxime ; Kintis, Marinos et alE-print/Working paper (2017) Detailed reference viewed: 269 (15 UL) Automata Language Equivalence vs. Simulations for Model-based Mutant Equivalence: An Empirical Evaluation; Perrouin, Gilles ; Papadakis, Mike et alin 10th IEEE International Conference on Software Testing, Verification and Validation (ICST 2017) (2017) Detailed reference viewed: 266 (5 UL) An Empirical Analysis of Vulnerabilities in OpenSSL and the Linux KernelJimenez, Matthieu ; Papadakis, Mike ; Le Traon, Yves ![]() in 2016 Asia-Pacific Software Engineering Conference (APSEC) (2016, December) Vulnerabilities are one of the main concerns faced by practitioners when working with security critical applications. Unfortunately, developers and security teams, even experienced ones, fail to identify ... [more ▼] Vulnerabilities are one of the main concerns faced by practitioners when working with security critical applications. Unfortunately, developers and security teams, even experienced ones, fail to identify many of them with severe consequences. Vulnerabilities are hard to discover since they appear in various forms, caused by many different issues and their identification requires an attacker’s mindset. In this paper, we aim at increasing the understanding of vulnerabilities by investigating their characteristics on two major open-source software systems, i.e., the Linux kernel and OpenSSL. In particular, we seek to analyse and build a profile for vulnerable code, which can ultimately help researchers in building automated approaches like vulnerability prediction models. Thus, we examine the location, criticality and category of vulnerable code along with its relation with software metrics. To do so, we collect more than 2,200 vulnerable files accounting for 863 vulnerabilities and compute more than 35 software metrics. Our results indicate that while 9 Common Weakness Enumeration (CWE) types of vulnerabilities are prevalent, only 3 of them are critical in OpenSSL and 2 of them in the Linux kernel. They also indicate that different types of vulnerabilities have different characteristics, i.e., metric profiles, and that vulnerabilities of the same type have different profiles in the two projects we examined. We also found that the file structure of the projects can provide useful information related to the vulnerabilities. Overall, our results demonstrate the need for making project specific approaches that focus on specific types of vulnerabilities. [less ▲] Detailed reference viewed: 442 (17 UL) Vulnerability Prediction Models: A case study on the Linux KernelJimenez, Matthieu ; Papadakis, Mike ; Le Traon, Yves ![]() in 16th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2016, Raleigh, US, October 2-3, 2016 (2016, October) To assist the vulnerability identification process, researchers proposed prediction models that highlight (for inspection) the most likely to be vulnerable parts of a system. In this paper we aim at ... [more ▼] To assist the vulnerability identification process, researchers proposed prediction models that highlight (for inspection) the most likely to be vulnerable parts of a system. In this paper we aim at making a reliable replication and comparison of the main vulnerability prediction models. Thus, we seek for determining their effectiveness, i.e., their ability to distinguish between vulnerable and non-vulnerable components, in the context of the Linux Kernel, under different scenarios. To achieve the above-mentioned aims, we mined vulnerabilities reported in the National Vulnerability Database and created a large dataset with all vulnerable components of Linux from 2005 to 2016. Based on this, we then built and evaluated the prediction models. We observe that an approach based on the header files included and on function calls performs best when aiming at future vulnerabilities, while text mining is the best technique when aiming at random instances. We also found that models based on code metrics perform poorly. We show that in the context of the Linux kernel, vulnerability prediction models can be superior to random selection and relatively precise. Thus, we conclude that practitioners have a valuable tool for prioritizing their security inspection efforts. [less ▲] Detailed reference viewed: 551 (32 UL) Profiling Android VulnerabilitiesJimenez, Matthieu ; Papadakis, Mike ; Bissyande, Tegawendé François D Assise et alin 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS 2016) (2016, August) In widely used mobile operating systems a single vulnerability can threaten the security and privacy of billions of users. Therefore, identifying vulnerabilities and fortifying software systems requires ... [more ▼] In widely used mobile operating systems a single vulnerability can threaten the security and privacy of billions of users. Therefore, identifying vulnerabilities and fortifying software systems requires constant attention and effort. However, this is costly and it is almost impossible to analyse an entire code base. Thus, it is necessary to prioritize efforts towards the most likely vulnerable areas. A first step in identifying these areas is to profile vulnerabilities based on previously reported ones. To investigate this, we performed a manual analysis of Android vulnerabilities, as reported in the National Vulnerability Database for the period 2008 to 2014. In our analysis, we identified a comprehensive list of issues leading to Android vulnerabilities. We also point out characteristics of the locations where vulnerabilities reside, the complexity of these locations and the complexity to fix the vulnerabilities. To enable future research, we make available all of our data. [less ▲] Detailed reference viewed: 436 (31 UL) Static Analysis of Android Apps: A Systematic Literature ReviewLi, Li ; Bissyande, Tegawendé François D Assise ; Papadakis, Mike et alReport (2016) Context: Static analysis approaches have been proposed to assess the security of Android apps, by searching for known vulnerabilities or actual malicious code. The literature thus has proposed a large ... [more ▼] Context: Static analysis approaches have been proposed to assess the security of Android apps, by searching for known vulnerabilities or actual malicious code. The literature thus has proposed a large body of works, each of which attempts to tackle one or more of the several challenges that program analyzers face when dealing with Android apps. Objective: We aim to provide a clear view of the state-of-the-art works that statically analyze Android apps, from which we highlight the trends of static analysis approaches, pinpoint where the focus has been put and enumerate the key aspects where future researches are still needed. Method: We have performed a systematic literature review which involves studying around 90 research papers published in software engineering, programming languages and security venues. This review is performed mainly in five dimensions: problems targeted by the approach, fundamental techniques used by authors, static analysis sensitivities considered, android characteristics taken into account and the scale of evaluation performed. Results: Our in-depth examination have led to several key findings: 1) Static analysis is largely performed to uncover security and privacy issues; 2) The Soot framework and the Jimple intermediate representation are the most adopted basic support tool and format, respectively; 3) Taint analysis remains the most applied technique in research approaches; 4) Most approaches support several analysis sensitivities, but very few approaches consider path-sensitivity; 5) There is no single work that has been proposed to tackle all challenges of static analysis that are related to Android programming; and 6) Only a small portion of state-of-the-art works have made their artifacts publicly available. Conclusion: The research community is still facing a number of challenges for building approaches that are aware altogether of implicit-Flows, dynamic code loading features, reflective calls, native code and multi-threading, in order to implement sound and highly precise static analyzers. [less ▲] Detailed reference viewed: 1255 (30 UL) PIT a Practical Mutation Testing Tool for Java; ; et al in International Symposium on Software Testing and Analysis, ISSTA 2016 (2016) Detailed reference viewed: 203 (2 UL) Feature Location Benchmark for Software Families using Eclipse Community ReleasesMartinez, Jabier ; ; Papadakis, Mike et alin Software Reuse: Bridging with Social-Awareness, ICSR 2016 Proceedings (2016) Detailed reference viewed: 297 (12 UL) Analysing and Comparing the Effectiveness of Mutation Testing Tools: A Manual StudyKintis, Marinos ; Papadakis, Mike ; et alin International Working Conference on Source Code Analysis and Manipulation (SCAM'16) (2016) Detailed reference viewed: 430 (12 UL) |
||