UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Making data-driven porting decisions with Tuscan

Khazem, K; Barr, ET; Hosek, P; (2018) Making data-driven porting decisions with Tuscan. In: ISSTA 2018 Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis. (pp. pp. 276-286). ACM: New York, NY, USA. Green open access

[thumbnail of making-data-driven-porting-decisions-with-tuscan.pdf]
Preview
Text
making-data-driven-porting-decisions-with-tuscan.pdf - Accepted Version

Download (851kB) | Preview

Abstract

Software typically outlives the platform that it was originally written for. To smooth the transition to new tools and platforms, programs should depend on the underlying platform as little as possible. In practice, however, software build processes are highly sensitive to their build platform, notably the implementation of the compiler and standard library. This makes it difficult to port existing, mature software to emerging platforms-web based runtimes like WebAssembly, resource-constrained environments for Internet-of-Things devices, or innovative new operating systems like Fuchsia. We present Tuscan, a framework for conducting automatic, deterministic, reproducible tests on build systems. Tuscan is the first framework to solve the problem of reproducibly testing builds cross-platform at massive scale.We also wrote a build wrapper, Red, which hijacks builds to tolerate common failures that arise from platform dependence, allowing the test harness to discover errors later in the build. Authors of innovative platforms can use Tuscan and Red to test the extent of unportability in the software ecosystem, and to quantify the effort necessary to port legacy software. We evaluated Tuscan by building an operating system distribution, consisting of 2,699 Red-wrapped programs, on four platforms, yielding a 'catalog' of the most common portability errors. This catalog informs data-driven porting decisions and motivates changes to programs, build systems, and language standards; systematically quantifies problems that platform writers have hitherto discovered only on an ad-hoc basis; and forms the basis for a common substrate of portability fixes that developers can apply to their software.

Type: Proceedings paper
Title: Making data-driven porting decisions with Tuscan
Event: 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2018), 16 - 21 July 2018, Amsterdam, Netherlands
ISBN-13: 9781450356992
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/3213846.3213855
Publisher version: https://doi.org/10.1145/3213846.3213855
Language: English
Additional information: This is the published version of record. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: build systems, portability, toolchains
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10064728
Downloads since deposit
115Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item