Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
R
 
 
 
 
man
 
 
 
 
 
 
 
 
 
 
 
 

Domino R Language Package

This repository contains an R package for "DOMINO" research paper. The devtools development framework was used to implement this R package. The content of this repository are the following:

  • R functions for reading data sets, preforming data manipulations, statistically analysing the results, and generate tables.
  • Our experiment's data.
  • Unit tests to mitigate the risk of our results.

Getting Started

The following instructions will install this package using devtools. This method is ideal if you plan to leverage, without modification, our existing functions and data sets.

Prerequisites

Please note that the following instructions have been tested on an Ubuntu 16.04 LTS workstation running the following version of R:

R version 3.3.3 (2017-03-06) -- "Another Canoe"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

You would need devtools to install our package:

  • devtools - Tools to make an R developer's life easier

Installing

You can type the following command in your R development environment if you want to install this package:

devtools::install_github("schemaanalyst/domino-replicate")

Example

Within your R environment, use the following commands:

  • Reading data sets into dataframes (directedRandom is translated to Domino and dravm is translated to DominoAVM):
analysis <- dominoReplicate::read_analysis()
mutants <- dominoReplicate::read_mutants()
  • Generating Tables (Latex or dataframes):
dominoReplicate::table_generator_coverage((analysis %>% filter(datagenerator != "dravm")), rtrn = "tex",m = "mean") # Table 2 In our paper
dominoReplicate::table_generator_timing_nonRandom((analysis %>% filter(datagenerator != "dravm")), rtrn = "tex", m = "mean") # Table 3
dominoReplicate::table_generator_mutation_score_nonRandom(mutants, rtrn = "tex", m = "mean") # Table 4
dominoReplicate::domino_table_combined(analysis, mutants, rtrn = "tex", mm = "mean") # Table 5

NOTE: The rtrn parameter is used to return either a dataframe (rtrn = "data") or a latex table (rtrn = "tex"). The m parameter is used to print the table as median or mean results.

  • For more information about our functions please type this:
library(dominoReplicate)
?read_mutants()
?read_analysis()
?table_generator_coverage_others()
?table_generator_timing_others_nonRand()
?table_generator_mutation_score_others_nonRand()
?domino_table_combaining()

Set-up for development

If you are interested in extending this package with new data sets and/or your own functions, then you can run the following command to first clone this repository:

git clone https://github.com/schemaanalyst/domino-replicate.git

Furthermore, in your R environment, you can run each of the following commands. This will help you to build, install, load, and test our R packages using devtools:

devtools::document()
devtools::install()
devtools::load_all()
devtools::test()

Running the tests

Whilst running our tests, the following results will appear:

test-coverage.R: ....
coverages-median-resutlts: ....
coverages-effect-size: ...
coverages-u-test: ...
test-mutation-scores.R: ....
mutant-scores-mean-results: .......
mutant-scores-effect-size-results: ...
test-testgenerationtiming.R: ....
testgenerationtiming-median-results: ....
testgenerationtiming-u-test-results: ...
testgenerationtiming-effect-size-results: ...

DONE ============================================

Coding style tests

The conventions we have used are explained in the following URLs:

Built With

  • devtools - Tools to make an R developer's life easier
  • roxygen2 - In-source documentation for R
  • Check The DESCRIPTION file - To review all the dependencies

Authors

  • Abdullah Alsharif - Initial work and main developer - aalshrif90
  • Gregory M. Kapfhammer - Quality Assurance - gkapfham
  • Phil McMinn - Quality Assurance - philmcminn

About

📦 Replication Package for the ICST 2018 Paper Presenting the DOMINO Method for Automated Schema Testing

Topics

Resources

Releases

No releases published

Packages

No packages published

Languages