September 7-9, 2016, Brno, Czech Republic

Quality assurance

 The Courthouse and the Bizzarre

By Stephan Bergman

More news from the love/hate relationship between the LibreOffice code base and C++11 and beyond.

The Courthouse and the Bizzarre   Youtube video

 Effective bisection and bibisection

Matthew J. Francis

  • How to effectively find and triage bugs using the LibreOffice bibisect repositories - a brief introduction to theory, technique, best practice
  • How and when to bisect bugs manually when there's no applicable bibisect repository
  •  
    • Installing the tools (Windbg or Visual Studio)
    • Running (attaching to running process or launch from within debugger)
    • Using breakpoints, stepping through the code
    Effective bisection and bibisection   Youtube video

       State of automated testing

      By Michael Stah

      We will discuss the existing automated regression testing infrastructure in the LibreOffice project. This includes numerous different unit testing and integration testing frameworks that can be run simply with "make check", code coverage analysis, as well as other more resource intensive and not entirely automated tools.

      Bio: Michael Stahl Joined the Sun Hamburg OpenOffice.org Writer team in 2007, and struggling with various parts of OOo since then; nowadays continuing the work of cleaning up messes in LibreOffice, employed by Red Hat, Inc.

      State of automated testing

       Regressions what, why and their extermination

      By Michael Meeks

      What is a regression ? how does it come about ? what do we already do to try to avoid them and why that is hard when changing the complex web of interlocking ssumptions that is LibreOffice. See how can you get involved with helping catch them before they 'escape'. Hear an overview of the next big initiatives to try to help reduce their prevelance. Come hear about the complex intersection between culture, contribution, quality, testing, open-source, and help to link together and understand some of the other talks on the vitally important work underway here.

      Regressions what, why and their extermination   Youtube video

       Wrangling the Bugzilla Beast

      By Robinson Tryon

      How to contribute changes to our bugtracker LibreOffice uses the Bugzilla bugtracker to host all bugs filed against LibreOffice, the Impress Remotes, and various libraries of the Document Liberation Project. As with the code of LibreOffice, we welcome patches and improvements to our infrastructure. But tweaking our Bugzilla isn't as easy as cloning out a git repository. We've deployed Bugzilla with a custom configuration, database, and web server, and since the creation of LibreOffice have filled the backend database with over 13GB of bug reports, comments, and attachments. This talk will discuss the steps we've taken to make it easier for people to contribute to the TDF/LibreOffice Bugzilla codebase, and the hurdles and limitations we've had to face along the way.

      Wrangling the Bugzilla Beast   Youtube video

       Introduction in using the debugging tools on Window

      By Christian Lohmaier

      Introduction in using the debugging tools on Windows. This talk is meant to give interested QA and newcomers an introduction on how to use the debugger on windows, making use of the symbol server or even make use a own build. target audience: non-developers, people seeking to provide backtraces on windows and thus helping developers developers by pointing out the actual place in the code where stuff goes wrong.

       Crash Testing and Coverity, the numbers

      By Caolán McNamara

      Two long-term high-effort systematic processes by which LibreOffice development tries to improve quality are a) regularly building our source with static detection tools such as coverity and custom clang plugins b) continually crash-testing by loading a document horde of 75000+ documents and resaving the office formats to multiple destination targets. Here we discuss those processes and present their trends and current status.

      Crash Testing and Coverity, the numbers   Youtube video

       Unit Verification and Dimensional Analysis for error detection in LibreOffice Calc

      By Andrzej Hunt

      About the ongoing work on adding Unit Verification and Dimensional Analysis for error detection in LibreOffice Calc. This is a feature I've been working on during the course of the past year, and is also the topic of my Master's project.
      The talk would discuss the ideas and motivations for doing this work (i.e. preventing clearly detectable errors in formulas in calc based on the physical units of input data), how units for data are extracted, the actual evaluation of formula correctness (and use of the udunits library for unit parsing), and finally the User Interface design and development. The talk would largely mirror the content of my university project's final report / thesis.

      Bio: I'm a recently graduated Computer and Information Engineering student, and have been a LibreOffice contributor since the summer of 2012. Most of my contributions have been as part of multiple Google Summer of Code terms - the most significant of which is probably the Impress Remote Control - however I also try to contribute on more minor projects or bugs as time permits. I've also spent some fun time interning at Collabora, also working on various small LibreOffice issues.

      Unit Verification and Dimensional Analysis for error detection in LibreOffice Calc

       Programmer-friendly XML in C++

      By Jos van den Oever

      Programmer-friendly XML in C++ To look at code to write XML in C++ codebases, is to travel back in time to the stone ages. The most important file formats in LibreOffice are defined in Relax NG schemas. Knowledge of these schemas can be used to create a programmer-frienly API for writing and accessing XML. In this talk, I will present Blasien. Blasien is a C++11 header library that makes C++ code that deals with XML look much nicer. On top of that, it does compile-time validation of most of the XML. Common errors like type errors in tag name strings, wrong nesting or forgetting of required attributes or elements are all caught at compile time. Blasien is an adapter that is used on top of the existing XML classes and is mostly optimized away at compile time.Blasien takes inspiration from XSLT, but adds strict type checking and native interaction with C++ structures

      Programmer-friendly XML in C++  Youtube video