No Cover Image

Journal article 247 views 26 downloads

A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments / Harold, Thimbleby

Science of Computer Programming, Volume: 156, Pages: 45 - 67

Swansea University Author: Harold, Thimbleby

  • 39384.pdf

    PDF | Accepted Manuscript

    Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND).

    Download (2.84MB)
  • relit.pdf

    PDF | Accepted Manuscript

    Download (2.84MB)

Abstract

Tools to ease the burden of reproducibility are important so computer science does not fall into the trap of "cargo cult" science: particularly publishing discussions of algorithms that look like algorithms but which do not work properly when they are copied from the paper. This paper intr...

Full description

Published in: Science of Computer Programming
ISSN: 01676423
Published: Elsevier 2018
Online Access: Check full text

URI: https://cronfa.swan.ac.uk/Record/cronfa39384
Tags: Add Tag
No Tags, Be the first to tag this record!
first_indexed 2018-04-13T13:32:53Z
last_indexed 2018-07-27T19:29:47Z
id cronfa39384
recordtype SURis
fullrecord <?xml version="1.0"?><rfc1807><datestamp>2018-07-27T14:58:11.8874994</datestamp><bib-version>v2</bib-version><id>39384</id><entry>2018-04-13</entry><title>A tool for publishing reproducible algorithms &amp; A reproducible, elegant algorithm for sequential experiments</title><swanseaauthors><author><sid>c12beb0ab0e333a9a512589d411d17f3</sid><ORCID>0000-0003-2222-4243</ORCID><firstname>Harold</firstname><surname>Thimbleby</surname><name>Harold Thimbleby</name><active>true</active><ethesisStudent>false</ethesisStudent></author></swanseaauthors><date>2018-04-13</date><deptcode>SCS</deptcode><abstract>Tools to ease the burden of reproducibility are important so computer science does not fall into the trap of "cargo cult" science: particularly publishing discussions of algorithms that look like algorithms but which do not work properly when they are copied from the paper. This paper introduces a tool, called relit, which makes it very easy to write about and publish correct algorithms, yet without restricting the author's style. In fact, relit can be used with any material: mathematics, proofs, algorithms or programs. It can be used in papers, in reports and books and, with analogous advantages, in student work - where examiners may wish to automatically check what the student claims to have written is actually correct.To demonstrate relit, this paper presents a new, elegant algorithm for the design of sequential experiments to efficiently control bias, drift, random error, carry-over and other effects. The algorithm is written in C, in a clear style to simplify porting to other languages. We developed relit because it was impossible to find simple reproducible code for this problem, and we wanted to do better. Thanks to relit, the published algorithm is reproducible and works exactly as published in the present paper. This paper also includes discussion of the problems and opportunities of reproducibility and the essential contributions of relit-style approaches to improving the reliability of computer science publications.</abstract><type>Journal Article</type><journal>Science of Computer Programming</journal><volume>156</volume><paginationStart>45</paginationStart><paginationEnd>67</paginationEnd><publisher>Elsevier</publisher><issnPrint>01676423</issnPrint><keywords>Reproducibility; Publishing algorithms; Literate programming; Euler cycle algorithm; de Bruijn sequence; Combinatorics; Experimental design.</keywords><publishedDay>1</publishedDay><publishedMonth>5</publishedMonth><publishedYear>2018</publishedYear><publishedDate>2018-05-01</publishedDate><doi>10.1016/j.scico.2017.12.010</doi><url>http://www.github.com/haroldthimbleby/relit</url><notes>Originality: A new and very elegant algorithm for finding Euler cycles is developed, combined with a new approach to literate programming.Significance: The Euler cycle algorithm is rarely published in full; this paper is unique in providing full source code as part of the paper using a new type of literate programming.Rigour: The paper uses and reviews reproducible techniques, and develops a new general approach for journal articles which is demonstrated by being used to reliably publish the new algorithm.</notes><college>COLLEGE NANME</college><department>Computer Science</department><CollegeCode>COLLEGE CODE</CollegeCode><DepartmentCode>SCS</DepartmentCode><institution>Swansea University</institution><sponsorsfunders>EPSRC</sponsorsfunders><lastEdited>2018-07-27T14:58:11.8874994</lastEdited><Created>2018-04-13T09:04:19.5665616</Created><path><level id="1">College of Science</level><level id="2">Computer Science</level></path><authors><author><firstname>Harold</firstname><surname>Thimbleby</surname><orcid>0000-0003-2222-4243</orcid><order>1</order></author><author><firstname>David</firstname><surname>Williams</surname><order>2</order></author></authors><documents><document><filename>0039384-24042018091115.pdf</filename><originalFilename>39384.pdf</originalFilename><uploaded>2018-04-24T09:11:15.7400000</uploaded><type>Output</type><contentLength>2946253</contentLength><contentType>application/pdf</contentType><version>Accepted Manuscript</version><cronfaStatus>true</cronfaStatus><action/><embargoDate>2019-03-20T00:00:00.0000000</embargoDate><documentNotes>Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND).</documentNotes><copyrightCorrect>true</copyrightCorrect><language>eng</language></document><document><filename>0039384-14042018003504.pdf</filename><originalFilename>relit.pdf</originalFilename><uploaded>2018-04-14T00:35:04.1900000</uploaded><type>Output</type><contentLength>2924760</contentLength><contentType>application/pdf</contentType><version>Accepted Manuscript</version><cronfaStatus>true</cronfaStatus><action/><embargoDate>2018-04-14T00:00:00.0000000</embargoDate><copyrightCorrect>true</copyrightCorrect><language>eng</language></document></documents></rfc1807>
spelling 2018-07-27T14:58:11.8874994 v2 39384 2018-04-13 A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments c12beb0ab0e333a9a512589d411d17f3 0000-0003-2222-4243 Harold Thimbleby Harold Thimbleby true false 2018-04-13 SCS Tools to ease the burden of reproducibility are important so computer science does not fall into the trap of "cargo cult" science: particularly publishing discussions of algorithms that look like algorithms but which do not work properly when they are copied from the paper. This paper introduces a tool, called relit, which makes it very easy to write about and publish correct algorithms, yet without restricting the author's style. In fact, relit can be used with any material: mathematics, proofs, algorithms or programs. It can be used in papers, in reports and books and, with analogous advantages, in student work - where examiners may wish to automatically check what the student claims to have written is actually correct.To demonstrate relit, this paper presents a new, elegant algorithm for the design of sequential experiments to efficiently control bias, drift, random error, carry-over and other effects. The algorithm is written in C, in a clear style to simplify porting to other languages. We developed relit because it was impossible to find simple reproducible code for this problem, and we wanted to do better. Thanks to relit, the published algorithm is reproducible and works exactly as published in the present paper. This paper also includes discussion of the problems and opportunities of reproducibility and the essential contributions of relit-style approaches to improving the reliability of computer science publications. Journal Article Science of Computer Programming 156 45 67 Elsevier 01676423 Reproducibility; Publishing algorithms; Literate programming; Euler cycle algorithm; de Bruijn sequence; Combinatorics; Experimental design. 1 5 2018 2018-05-01 10.1016/j.scico.2017.12.010 http://www.github.com/haroldthimbleby/relit Originality: A new and very elegant algorithm for finding Euler cycles is developed, combined with a new approach to literate programming.Significance: The Euler cycle algorithm is rarely published in full; this paper is unique in providing full source code as part of the paper using a new type of literate programming.Rigour: The paper uses and reviews reproducible techniques, and develops a new general approach for journal articles which is demonstrated by being used to reliably publish the new algorithm. COLLEGE NANME Computer Science COLLEGE CODE SCS Swansea University EPSRC 2018-07-27T14:58:11.8874994 2018-04-13T09:04:19.5665616 College of Science Computer Science Harold Thimbleby 0000-0003-2222-4243 1 David Williams 2 0039384-24042018091115.pdf 39384.pdf 2018-04-24T09:11:15.7400000 Output 2946253 application/pdf Accepted Manuscript true 2019-03-20T00:00:00.0000000 Released under the terms of a Creative Commons Attribution Non-Commercial No Derivatives License (CC-BY-NC-ND). true eng 0039384-14042018003504.pdf relit.pdf 2018-04-14T00:35:04.1900000 Output 2924760 application/pdf Accepted Manuscript true 2018-04-14T00:00:00.0000000 true eng
title A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
spellingShingle A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
Harold, Thimbleby
title_short A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
title_full A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
title_fullStr A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
title_full_unstemmed A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
title_sort A tool for publishing reproducible algorithms & A reproducible, elegant algorithm for sequential experiments
author_id_str_mv c12beb0ab0e333a9a512589d411d17f3
author_id_fullname_str_mv c12beb0ab0e333a9a512589d411d17f3_***_Harold, Thimbleby
author Harold, Thimbleby
format Journal article
container_title Science of Computer Programming
container_volume 156
container_start_page 45
publishDate 2018
institution Swansea University
issn 01676423
doi_str_mv 10.1016/j.scico.2017.12.010
publisher Elsevier
college_str College of Science
hierarchytype
hierarchy_top_id collegeofscience
hierarchy_top_title College of Science
hierarchy_parent_id collegeofscience
hierarchy_parent_title College of Science
department_str Computer Science{{{_:::_}}}College of Science{{{_:::_}}}Computer Science
url http://www.github.com/haroldthimbleby/relit
document_store_str 1
active_str 0
description Tools to ease the burden of reproducibility are important so computer science does not fall into the trap of "cargo cult" science: particularly publishing discussions of algorithms that look like algorithms but which do not work properly when they are copied from the paper. This paper introduces a tool, called relit, which makes it very easy to write about and publish correct algorithms, yet without restricting the author's style. In fact, relit can be used with any material: mathematics, proofs, algorithms or programs. It can be used in papers, in reports and books and, with analogous advantages, in student work - where examiners may wish to automatically check what the student claims to have written is actually correct.To demonstrate relit, this paper presents a new, elegant algorithm for the design of sequential experiments to efficiently control bias, drift, random error, carry-over and other effects. The algorithm is written in C, in a clear style to simplify porting to other languages. We developed relit because it was impossible to find simple reproducible code for this problem, and we wanted to do better. Thanks to relit, the published algorithm is reproducible and works exactly as published in the present paper. This paper also includes discussion of the problems and opportunities of reproducibility and the essential contributions of relit-style approaches to improving the reliability of computer science publications.
published_date 2018-05-01T12:58:29Z
_version_ 1650453915811971072
score 10.867679