Skip to main content

Showing 1–20 of 20 results for author: Groce, A

.
  1. arXiv:2309.02395  [pdf, ps, other

    cs.SE

    Mind the Gap: The Difference Between Coverage and Mutation Score Can Guide Testing Efforts

    Authors: Kush Jain, Goutamkumar Tulajappa Kalburgi, Claire Le Goues, Alex Groce

    Abstract: An "adequate" test suite should effectively find all inconsistencies between a system's requirements/specifications and its implementation. Practitioners frequently use code coverage to approximate adequacy, while academics argue that mutation score may better approximate true (oracular) adequacy coverage. High code coverage is increasingly attainable even on large systems via automatic test gener… ▽ More

    Submitted 5 September, 2023; originally announced September 2023.

  2. arXiv:2309.02389  [pdf, other

    cs.SE

    Contextual Predictive Mutation Testing

    Authors: Kush Jain, Uri Alon, Alex Groce, Claire Le Goues

    Abstract: Mutation testing is a powerful technique for assessing and improving test suite quality that artificially introduces bugs and checks whether the test suites catch them. However, it is also computationally expensive and thus does not scale to large systems and projects. One promising recent approach to tackling this scalability problem uses machine learning to predict whether the tests will detect… ▽ More

    Submitted 5 September, 2023; originally announced September 2023.

  3. arXiv:2302.04260  [pdf, other

    stat.ME cs.CR cs.LG

    The Test of Tests: A Framework For Differentially Private Hypothesis Testing

    Authors: Zeki Kazan, Kaiyan Shi, Adam Groce, Andrew Bray

    Abstract: We present a generic framework for creating differentially private versions of any hypothesis test in a black-box way. We analyze the resulting tests analytically and experimentally. Most crucially, we show good practical performance for small data sets, showing that at epsilon = 1 we only need 5-6 times as much data as in the fully public setting. We compare our work to the one existing framework… ▽ More

    Submitted 8 February, 2023; originally announced February 2023.

    Comments: The main text is 14 pages and 4 figures. Appendices are 10 pages and 12 figures

  4. arXiv:2201.11303  [pdf, ps, other

    cs.SE cs.CR

    Mutation Analysis: Answering the Fuzzing Challenge

    Authors: Rahul Gopinath, Philipp Görz, Alex Groce

    Abstract: Fuzzing is one of the fastest growing fields in software testing. The idea behind fuzzing is to check the behavior of software against a large number of randomly generated inputs, trying to cover all interesting parts of the input space, while observing the tested software for anomalous behaviour. One of the biggest challenges facing fuzzer users is how to validate software behavior, and how to im… ▽ More

    Submitted 12 February, 2022; v1 submitted 26 January, 2022; originally announced January 2022.

    MSC Class: 68-04 ACM Class: D.2.5

  5. Using Relative Lines of Code to Guide Automated Test Generation for Python

    Authors: Josie Holmes, Iftekhar Ahmed, Caius Brindescu, Rahul Gopinath, He Zhang, Alex Groce

    Abstract: Raw lines of code (LOC) is a metric that does not, at first glance, seem extremely useful for automated test generation. It is both highly language-dependent and not extremely meaningful, semantically, within a language: one coder can produce the same effect with many fewer lines than another. However, relative LOC, between components of the same project, turns out to be a highly useful metric for… ▽ More

    Submitted 11 March, 2021; originally announced March 2021.

    Journal ref: ACM Transactions on Software Engineering and Methodology (TOSEM), 29(4), 1-38 (2020)

  6. arXiv:2001.02285  [pdf, other

    stat.ME cs.CR

    Differentially Private Confidence Intervals

    Authors: Wenxin Du, Canyon Foot, Monica Moniot, Andrew Bray, Adam Groce

    Abstract: Confidence intervals for the population mean of normally distributed data are some of the most standard statistical outputs one might want from a database. In this work we give practical differentially private algorithms for this task. We provide five algorithms and then compare them to each other and to prior work. We give concrete, experimental analysis of their accuracy and find that our algori… ▽ More

    Submitted 7 January, 2020; originally announced January 2020.

  7. arXiv:1911.07567  [pdf, ps, other

    cs.SE cs.CR cs.PL

    What are the Actual Flaws in Important Smart Contracts (and How Can We Find Them)?

    Authors: Alex Groce, Josselin Feist, Gustavo Grieco, Michael Colburn

    Abstract: An important problem in smart contract security is understanding the likelihood and criticality of discovered, or potential, weaknesses in contracts. In this paper we provide a summary of Ethereum smart contract audits performed for 23 professional stakeholders, avoiding the common problem of reporting issues mostly prevalent in low-quality contracts. These audits were performed at a leading compa… ▽ More

    Submitted 10 January, 2020; v1 submitted 18 November, 2019; originally announced November 2019.

  8. Slither: A Static Analysis Framework For Smart Contracts

    Authors: Josselin Feist, Gustavo Grieco, Alex Groce

    Abstract: This paper describes Slither, a static analysis framework designed to provide rich information about Ethereum smart contracts. It works by converting Solidity smart contracts into an intermediate representation called SlithIR. SlithIR uses Static Single Assignment (SSA) form and a reduced instruction set to ease implementation of analyses while preserving semantic information that would be lost in… ▽ More

    Submitted 26 August, 2019; originally announced August 2019.

  9. arXiv:1907.03890  [pdf, other

    cs.SE cs.CR

    Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts

    Authors: Mark Mossberg, Felipe Manzano, Eric Hennenfent, Alex Groce, Gustavo Grieco, Josselin Feist, Trent Brunson, Artem Dinaburg

    Abstract: An effective way to maximize code coverage in software tests is through dynamic symbolic execution$-$a technique that uses constraint solving to systematically explore a program's state space. We introduce an open-source dynamic symbolic execution framework called Manticore for analyzing binaries and Ethereum smart contracts. Manticore's flexible architecture allows it to support both traditional… ▽ More

    Submitted 18 November, 2019; v1 submitted 8 July, 2019; originally announced July 2019.

    Comments: Fix in bibliography

  10. arXiv:1907.03205  [pdf, other

    cs.CC quant-ph

    Oracle Separations Between Quantum and Non-interactive Zero-Knowledge Classes

    Authors: Benjamin Morrison, Adam Groce

    Abstract: We study the relationship between problems solvable by quantum algorithms in polynomial time and those for which zero-knowledge proofs exist. In prior work, Aaronson [arxiv:quant-ph/0111102] showed an oracle separation between BQP and SZK, i.e. an oracle $A$ such that $\mathrm{SZK}^A \not\subseteq \mathrm{BQP}^A$. In this paper we give a simple extension of Aaronson's result to non-interactive zer… ▽ More

    Submitted 6 July, 2019; originally announced July 2019.

    Comments: 3 pages

  11. arXiv:1903.09364  [pdf, other

    stat.ME cs.CR

    Differentially Private Nonparametric Hypothesis Testing

    Authors: Simon Couch, Zeki Kazan, Kaiyan Shi, Andrew Bray, Adam Groce

    Abstract: Hypothesis tests are a crucial statistical tool for data mining and are the workhorse of scientific research in many fields. Here we study differentially private tests of independence between a categorical and a continuous variable. We take as our starting point traditional nonparametric tests, which require no distributional assumption (e.g., normality) about the data distribution. We present pri… ▽ More

    Submitted 22 March, 2019; originally announced March 2019.

  12. arXiv:1903.00534  [pdf, other

    cs.CR cs.LG stat.ML

    Improved Differentially Private Analysis of Variance

    Authors: Marika Swanberg, Ira Globus-Harris, Iris Griffith, Anna Ritz, Adam Groce, Andrew Bray

    Abstract: Hypothesis testing is one of the most common types of data analysis and forms the backbone of scientific research in many disciplines. Analysis of variance (ANOVA) in particular is used to detect dependence between a categorical and a numerical variable. Here we show how one can carry out this hypothesis test under the restrictions of differential privacy. We show that the $F$-statistic, the optim… ▽ More

    Submitted 1 March, 2019; originally announced March 2019.

    Comments: Proceedings of the 19th Privacy Enhancing Technologies Symposium (PETS) 2019

  13. arXiv:1809.01635  [pdf, other

    cs.CR cs.LG stat.ML

    A Differentially Private Wilcoxon Signed-Rank Test

    Authors: Simon Couch, Zeki Kazan, Kaiyan Shi, Andrew Bray, Adam Groce

    Abstract: Hypothesis tests are a crucial statistical tool for data mining and are the workhorse of scientific research in many fields. Here we present a differentially private analogue of the classic Wilcoxon signed-rank hypothesis test, which is used when comparing sets of paired (e.g., before-and-after) data values. We present not only a private estimate of the test statistic, but a method to accurately c… ▽ More

    Submitted 5 September, 2018; originally announced September 2018.

  14. arXiv:1711.01661  [pdf, ps, other

    stat.ML cs.SE

    Provenance and Pseudo-Provenance for Seeded Learning-Based Automated Test Generation

    Authors: Alex Groce, Josie Holmes

    Abstract: Many methods for automated software test generation, including some that explicitly use machine learning (and some that use ML more broadly conceived) derive new tests from existing tests (often referred to as seeds). Often, the seed tests from which new tests are derived are manually constructed, or at least simpler than the tests that are produced as the final outputs of such test generators. We… ▽ More

    Submitted 15 November, 2017; v1 submitted 5 November, 2017; originally announced November 2017.

    Comments: Presented at NIPS 2017 Symposium on Interpretable Machine Learning

  15. arXiv:1711.01335  [pdf, other

    cs.CR stat.AP

    Differentially Private ANOVA Testing

    Authors: Zachary Campbell, Andrew Bray, Anna Ritz, Adam Groce

    Abstract: Modern society generates an incredible amount of data about individuals, and releasing summary statistics about this data in a manner that provably protects individual privacy would offer a valuable resource for researchers in many fields. We present the first algorithm for analysis of variance (ANOVA) that preserves differential privacy, allowing this important statistical test to be conducted (a… ▽ More

    Submitted 20 February, 2018; v1 submitted 3 November, 2017; originally announced November 2017.

    Comments: Accepted, camera-ready version presented at the 1st International Conference on Data Intelligence and Security (ICDIS) 2018

  16. arXiv:1710.02770   

    cs.LO cs.SE eess.SY

    Proceedings 2nd International Workshop on Causal Reasoning for Embedded and safety-critical Systems Technologies

    Authors: Alex Groce, Stefan Leue

    Abstract: The second international CREST workshop continued the focus of the first CREST workshop: addressing approaches to causal reasoning in engineering complex embedded and safety-critical systems. Relevant approaches to causal reasoning have been (usually independently) proposed by a variety of communities: AI, concurrency, model-based diagnosis, software engineering, security engineering, and forma… ▽ More

    Submitted 7 October, 2017; originally announced October 2017.

    Journal ref: EPTCS 259, 2017

  17. arXiv:1611.01501  [pdf, other

    cs.SE

    Data Poisoning: Lightweight Soft Fault Injection for Python

    Authors: Mohammad Amin Alipour, Alex Groce

    Abstract: This paper introduces and explores the idea of data poisoning, a light-weight peer-architecture technique to inject faults into Python programs. This method requires very small modification to the original program, which facilitates evaluation of sensitivity of systems that are prototyped or modeled in Python. We propose different fault scenarios that can be injected to programs using data poisoni… ▽ More

    Submitted 4 November, 2016; originally announced November 2016.

    Comments: Draft- 6 pages

    ACM Class: D.4.5

  18. arXiv:1610.08020  [pdf, ps, other

    cs.SE

    Bounded Model Checking and Feature Omission Diversity

    Authors: Mohammad Amin Alipour, Alex Groce

    Abstract: In this paper we introduce a novel way to speed up the discovery of counterexamples in bounded model checking, based on parallel runs over versions of a system in which features have been randomly disabled. As shown in previous work, adding constraints to a bounded model checking problem can reduce the size of the verification problem and dramatically decrease the time required to find counterexam… ▽ More

    Submitted 20 September, 2016; originally announced October 2016.

    Comments: 5 pages

    ACM Class: D.2.4

  19. arXiv:1609.06382  [pdf, other

    cs.SE cs.LO cs.PL

    Finding Model-Checkable Needles in Large Source Code Haystacks: Modular Bug-Finding via Static Analysis and Dynamic Invariant Discovery

    Authors: Mohammad Amin Alipour, Alex Groce, Chaoqiang Zhang, Anahita Sanadaji, Gokul Caushik

    Abstract: In this paper, we present a novel marriage of static and dynamic analysis. Given a large code base with many functions and a mature test suite, we propose using static analysis to find functions 1) with assertions or other evident correctness properties (e.g., array bounds requirements or pointer access) and 2) with simple enough control flow and data use to be amenable to predicate-abstraction ba… ▽ More

    Submitted 20 September, 2016; originally announced September 2016.

    Comments: 6 pages

    ACM Class: D.2.4; D.2.5

  20. An Entry Point for Formal Methods: Specification and Analysis of Event Logs

    Authors: Howard Barringer, Alex Groce, Klaus Havelund, Margaret Smith

    Abstract: Formal specification languages have long languished, due to the grave scalability problems faced by complete verification methods. Runtime verification promises to use formal specifications to automate part of the more scalable art of testing, but has not been widely applied to real systems, and often falters due to the cost and complexity of instrumentation for online monitoring. In this paper… ▽ More

    Submitted 8 March, 2010; originally announced March 2010.

    Journal ref: EPTCS 20, 2010, pp. 16-21