From a52240fe4f9a160f3fcd65217b7f7307fa13e820 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 30 May 2019 16:00:57 +0100 Subject: Add conversion script --- scripts/convert.py | 21 +++++++++++++++++++++ scripts/run | 22 ---------------------- scripts/run.py | 22 ++++++++++++++++++++++ scripts/size | 30 ------------------------------ scripts/size.py | 30 ++++++++++++++++++++++++++++++ scripts/swarm | 26 -------------------------- scripts/swarm.py | 26 ++++++++++++++++++++++++++ 7 files changed, 99 insertions(+), 78 deletions(-) create mode 100644 scripts/convert.py delete mode 100755 scripts/run create mode 100755 scripts/run.py delete mode 100755 scripts/size create mode 100755 scripts/size.py delete mode 100755 scripts/swarm create mode 100755 scripts/swarm.py diff --git a/scripts/convert.py b/scripts/convert.py new file mode 100644 index 0000000..e179774 --- /dev/null +++ b/scripts/convert.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 + +import sys +from bs4 import BeautifulSoup +import csv + +def main(file_): + with open(file_, "r") as f: + file_contents = f.read() + + soup = BeautifulSoup(file_contents) + table = soup.select_one("table") + headers = [th.text.encode("utf-8") for th in table.select("tr th")] + + with open("out.csv", "w") as f: + wr = csv.writer(f) + wr.writerow(headers) + wr.writerows([[td.text.encode("utf-8") for td in row.find_all("td")] for row in table.select("tr + tr")]) + +if __name__ == '__main__': + main(sys.argv[1]) diff --git a/scripts/run b/scripts/run deleted file mode 100755 index 63295af..0000000 --- a/scripts/run +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import os - -def main(): - i = 0 - name = "mediumB" - config = "experiments/config_yosys.toml" - iterations = 50 - directory = "yosys_all" - if not os.path.exists(directory): - os.makedirs(directory) - while True: - subprocess.call(["verifuzz", "fuzz" - , "-o", directory + "/" + name + str(i) - , "-c", config - , "-n", str(iterations)]) - i += 1 - -if __name__ == '__main__': - main() diff --git a/scripts/run.py b/scripts/run.py new file mode 100755 index 0000000..63295af --- /dev/null +++ b/scripts/run.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 + +import subprocess +import os + +def main(): + i = 0 + name = "mediumB" + config = "experiments/config_yosys.toml" + iterations = 50 + directory = "yosys_all" + if not os.path.exists(directory): + os.makedirs(directory) + while True: + subprocess.call(["verifuzz", "fuzz" + , "-o", directory + "/" + name + str(i) + , "-c", config + , "-n", str(iterations)]) + i += 1 + +if __name__ == '__main__': + main() diff --git a/scripts/size b/scripts/size deleted file mode 100755 index d6d7466..0000000 --- a/scripts/size +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import statistics -import argparse -import os - -def file_len(fname): - with open(fname) as f: - for i, l in enumerate(f): - pass - return i + 1 - -def main(c, n): - l = [] - for x in range(0, n): - subprocess.call(["verifuzz", "generate", "-o", "main.v", "-c", c]) - l.append(file_len("main.v")) - os.remove("main.v") - print("mean: ", statistics.mean(l)) - print("median: ", statistics.median(l)) - print("stdev: ", statistics.stdev(l)) - print("variance: ", statistics.variance(l)) - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Check the average size of a generated program.') - parser.add_argument('config', metavar='CONFIG', help='The config file to test.') - parser.add_argument('-n', '--num', help='How many iterations to run.', default=10, type=int) - args = parser.parse_args() - main(args.config, args.num) diff --git a/scripts/size.py b/scripts/size.py new file mode 100755 index 0000000..d6d7466 --- /dev/null +++ b/scripts/size.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import subprocess +import statistics +import argparse +import os + +def file_len(fname): + with open(fname) as f: + for i, l in enumerate(f): + pass + return i + 1 + +def main(c, n): + l = [] + for x in range(0, n): + subprocess.call(["verifuzz", "generate", "-o", "main.v", "-c", c]) + l.append(file_len("main.v")) + os.remove("main.v") + print("mean: ", statistics.mean(l)) + print("median: ", statistics.median(l)) + print("stdev: ", statistics.stdev(l)) + print("variance: ", statistics.variance(l)) + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Check the average size of a generated program.') + parser.add_argument('config', metavar='CONFIG', help='The config file to test.') + parser.add_argument('-n', '--num', help='How many iterations to run.', default=10, type=int) + args = parser.parse_args() + main(args.config, args.num) diff --git a/scripts/swarm b/scripts/swarm deleted file mode 100755 index 99b0c54..0000000 --- a/scripts/swarm +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import os - -def main(): - i = 0 - name = "medium" - config = "experiments/config_medium.toml" - iterations = 20 - directory = "swarm" - if not os.path.exists(directory): - os.makedirs(directory) - while True: - subprocess.call(["verifuzz", "config" - , "-c", config - , "-o", directory + "/config_medium_random.toml" - , "--randomise"]) - subprocess.call([ "verifuzz", "fuzz" - , "-o", directory + "/" + name + str(i) - , "-c", directory + "/config_medium_random.toml" - , "-n", str(iterations)]) - i += 1 - -if __name__ == '__main__': - main() diff --git a/scripts/swarm.py b/scripts/swarm.py new file mode 100755 index 0000000..99b0c54 --- /dev/null +++ b/scripts/swarm.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +import subprocess +import os + +def main(): + i = 0 + name = "medium" + config = "experiments/config_medium.toml" + iterations = 20 + directory = "swarm" + if not os.path.exists(directory): + os.makedirs(directory) + while True: + subprocess.call(["verifuzz", "config" + , "-c", config + , "-o", directory + "/config_medium_random.toml" + , "--randomise"]) + subprocess.call([ "verifuzz", "fuzz" + , "-o", directory + "/" + name + str(i) + , "-c", directory + "/config_medium_random.toml" + , "-n", str(iterations)]) + i += 1 + +if __name__ == '__main__': + main() -- cgit