ocamlot ocaml online testing
play

OCamlot: OCaml Online Testing State for the Open Source OCaml - PowerPoint PPT Presentation

OCamlot: OCaml Online Testing State for the Open Source OCaml Community David Sheets, Anil Madhavapeddy, Amir Chaudhry and Thomas Gazagnaire University of Cambridge and OCamlPro OCamlot : OCaml Online Testing The Quality Quality A Typical


  1. OCamlot: OCaml Online Testing State for the Open Source OCaml Community David Sheets, Anil Madhavapeddy, Amir Chaudhry and Thomas Gazagnaire University of Cambridge and OCamlPro

  2. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  3. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  4. A Caml on Every Core ◮ Consistent results (“It Just Works”)

  5. A Caml on Every Core ◮ Consistent results (“It Just Works”) ◮ Obvious solutions (“What have I forgotten?”)

  6. A Caml on Every Core ◮ Consistent results (“It Just Works”) ◮ Obvious solutions (“What have I forgotten?”) ◮ Addictive actions (“I want to install more software.”)

  7. A Caml on Every Core ◮ Consistent results (“It Just Works”) ◮ Obvious solutions (“What have I forgotten?”) ◮ Addictive actions (“I want to install more software.”) ◮ Quality functions (“Just what I wanted.”)

  8. Universal Concerns ◮ Compiler hypotheses ◮ New injectivity restriction is minimally disruptive

  9. Universal Concerns ◮ Compiler hypotheses ◮ New injectivity restriction is minimally disruptive ◮ Build system hypotheses ◮ Compiler commands can be diverted

  10. Universal Concerns ◮ Compiler hypotheses ◮ New injectivity restriction is minimally disruptive ◮ Build system hypotheses ◮ Compiler commands can be diverted ◮ Package manager hypotheses ◮ OPAM 1.1 is stable

  11. Universal Concerns ◮ Compiler hypotheses ◮ New injectivity restriction is minimally disruptive ◮ Build system hypotheses ◮ Compiler commands can be diverted ◮ Package manager hypotheses ◮ OPAM 1.1 is stable ◮ Environment hypotheses ◮ Packages silent on OS/arch dependency can build and run everywhere

  12. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  13. Evaluating the future ◮ Typical typist makes pull request to repository ◮ Curator observes proposal ◮ Hypothetical consequences evaluated ◮ Potential amendments proposed ◮ Repository administrator signs with 1 click

  14. Evaluating the future ◮ Typical typist makes pull request to repository ◮ Curator observes proposal ◮ Hypothetical consequences evaluated ◮ Potential amendments proposed ◮ Repository administrator signs with 1 click ◮ E.g.: Weekly Core release

  15. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  16. The Shared Repository Management Game ◮ Objective: promote public health and safety ◮ Strategy: get inside the humans’ loops ◮ Loop: Observe, Orient, Decide, Act ◮ Advantage: scale and heterogeneity t

  17. Repository Observation ◮ GitHub bindings with web hooks ◮ Pull Requests ◮ Commits ◮ Comments ◮ Pre-build merge ◮ Other event streams?

  18. Dependency Orientation ◮ Capabilities with environment dependencies ◮ Packages with constraint-based dependencies ◮ Repository with revision dependencies ◮ Artifact and task interdependencies

  19. Dependency Orientation ◮ Capabilities with environment dependencies ◮ Packages with constraint-based dependencies ◮ Repository with revision dependencies ◮ Artifact and task interdependencies ◮ Independence predicate

  20. Dependency Orientation ◮ Capabilities with environment dependencies ◮ Packages with constraint-based dependencies ◮ Repository with revision dependencies ◮ Artifact and task interdependencies ◮ Independence predicate ◮ E.g.: J´ erˆ ome Vouillon’s Android OPAM repository

  21. Triage Decisions ◮ Classify common error modes ◮ Unsatisfiable ◮ Dependency ◮ Transient ◮ System ◮ Metadata ◮ External dependency ◮ Build error ◮ Multiple ◮ Judge severity and impact ◮ Generate amendments to resolve

  22. State Action ◮ Commit task intention ◮ Commit build evidence ◮ Commit error analysis ◮ Commit proposed amendment

  23. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  24. Just Representation ◮ Agents negotiate their tasks over HTTPS ◮ Independent metadata layers for orthogonal aspects ◮ Persistence to a layer in a branch consistent store ◮ All byproducts serialized as s-expressions

  25. Just Representation ◮ Agents negotiate their tasks over HTTPS ◮ Independent metadata layers for orthogonal aspects ◮ Persistence to a layer in a branch consistent store ◮ All byproducts serialized as s-expressions ◮ Branch-consistent stores like Git or Irminsule

  26. Our Present Executive ◮ Observation available and active ◮ Orientation minimally prototyped ◮ Basic triage heuristics complete ◮ No amendments ◮ Ephemeral task system (commit evidence+analysis) ◮ Simple reactions

  27. History So Far ◮ Lots of metadata bugs ◮ Many package bugs ◮ Some tool bugs ◮ 30+ x86-64, 30+ x86-32 ◮ 8+ ARMv6, ARMv5tel, PPC, PPC64, Sparc64... ◮ Multiple Linux distros, FreeBSD, OpenBSD, OS X ◮ Dead Rpi, panicking *nix filesystems ◮ Don’t make warnings fatal!

  28. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

  29. To Avalon ◮ opamfu for DAG analysis + memoization ◮ Forward migration ◮ Lower overhead to administer exotic workers ◮ Advanced automation (amendments, chat bots) ◮ Better site integration ◮ Benchmarking ◮ Universal experiments with differential analysis ◮ VM-based test systems ◮ 500+ on-demand machine instances from Rackspace

  30. OCamlot : OCaml Online Testing The Quality Quality A Typical Typist The Cybernetic Curator Just Representation To Avalon

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend