After four years, the Cha-Q project is running to its completion. PoweredbyChaQTo demonstrate our results on change-centric quality assurance, we organized our second and final tool demonstration event on Monday, December 5th, 2016 at the U-residence on Campus Etterbeek of the Vrije Universiteit Brussel. This event is open to all software teams interested in state-of-the-art development tooling.

   

Cha-Q Info Brochure

 

CHAQBrochureJanuary2015p1Quality software has long been synonymous with software “without bugs”. Today, however, quality software has come to mean “easy to adapt” because of the constant pressure to change. Software teams seek for a delicate balance between two opposing forces: striving for reliability and striving for agility. In the former, teams optimize for perfection; in the latter they optimize for ease of change.

The ANSYMO (Universiteit Antwerpen) and SOFT (Vrije Universiteit Brussel) research groups are investigating ways to reduce this tension between reliability and agility.  Together, we seek to make changes the primary unit of analysis during quality assurance and as such we expect to speed up the release process without sacrificing the safety net of quality assurance. The Info Brochure details the change-centric quality assurance tools that we have developed to this end, and that we have put to the test in pilot cases at software-intensive companies from our user committee.  

 

Agenda

The second open tool demonstration event takes place on Monday, December 5th, 2016 from 13:00 till 18:30 at the U-residence on Campus Etterbeek of the Vrije Universiteit Brussel.

[12:30 - 13:00] — Registration

[13:00 - 13:30] — Welcome by Prof. dr. Serge Demeyer (UA) and Prof. dr. Coen De Roover (VUB) (presentation)

[13:30 - 14:20] — Pilot Studies on Cha-Q Technology for "Mining and Automating Past Changes" 

  • Mining Git Repositories for Repeated Systematic Edits at TPVision - Reinout Stevens (VUB) (presentation)
    Developers often perform similar, but context-dependent, edits to multiple files. For instance, to update all clients of a library to the newest version. In the course of a project's history, developers might unconsciously repeat such systematic edits several times. To provide developers insights into the edits that are repeated, we propose an algorithm inspired by big data processing that mines a project's Git repository for repeated edits. Its output can motivate a restructuring of the project to minimize the need for repeated edits, or a project-specific refactoring tool that automates them. We report on the mining algorithm and its application at TPVision.  

  • Automating Systematic Edits and Project-Specific Refactorings at FOD Financiën - Tim Molderez (VUB) (presentation)
    Manually performing similar, but context-dependent, edits to multiple files can be effort-intensive and error-prone. We therefore developed a powerful, but user-friendly, program transformation tool that can be used to automate such systematic edits.  Using this tool, we performed a pilot study at FOD Financiën in which we tried to automate the systematic edits found in one year of development activity on Tax-on-web’s tax simulation service. We report on the results and sketch potential applications of the program transformation tool, such as adjusting code to API changes, migrating to alternative frameworks and libraries, repairing multiple instances of the same bug, creating project-specific refactorings, etc... . 

[14:20 - 14:30] Coffee break 

[14:30 - 14:55] — Pilot Studies on Cha-Q Technology for "Monitoring Ongoing Changes" 

  • Maintaining Explicit Inter-Artefact Links at Inventive Designers - Angela Lozano (VUB) (presentation, tool demo movie)
    Non-trivial software systems consist of many different types of files that are, moreover, interlinked. For instance, there are often links from XML files to specific classes in source code files. When the referenced artefact is changed (e.g., the name of a class), the link in the referencing artefact (e.g., a tag in an XML file) needs to be updated correspondingly. Otherwise, these artefacts become out of sync, which might lead to run-time errors. We therefore developed a tool that keeps track of links between artefacts and warns developers when the referencing and referenced artefact become out of sync. We report on a pilot study at Inventive Designers in which we used this tool to maintain links from the configuration files of a web server to its impleemntation. The strength of the tool lies in its configurability; it can be configured to track and warn about project-specific artefact links. 

[14:55 - 15:45] — Pilot Studies on Cha-Q Technology for "History-Inspired Decision Making"

  • Exploiting the Issue Tracker for Project Planning at Inventive Designers - Murgia Alessandro (UA) (presentation)
    Planning poker is a proven Scrum technique for estimating the effort required to address an issue. However, it is sometimes necessary to provide these estimations before the team gathers for the planning poker session. We therefore developed a recommendation system that provides estimates based on the similarity of the issue with all the others recorded in the JIRA database. In a pilot study at Inventive Designers, the recommendation system produced estimates aligned to the one produced  by developers. Moreover, the results were sufficiently encouraging to use the system during planning poker session, to supplement the discussion whenever there is a disagreement in the team. Based on this experiment, we believe the system can help the team to schedule the developers’ workload, and help long-term project planning.

  • Strengthening the Regression Test Suite at HealthConnect - Ali Parsai - (UA) (presentation, tool demo movie)
    Mutation testing is a well-studied technique for measuring the strength of a test suite. The idea is to automatically inject bugs in the system under test, which have to be flagged by the test suite. Existing mutation testing tools inject generic bugs, such as changing an arithmetic operator “+” into an arithmetic operator “-”. However, these mutations are often not relevant for today's software. The Cha-Q project therefore performed a study to discover the mutations that stem from difficult bugs filed in a project's issue database. We report on a pilot study in which we used LittleDarwin, a flexible mutation testing framework, to strengthen the test suite of CareConnect, a HealthConnect product.

[15:45 - 15:55] — Coffee break 

[15:55 - 16:45] — Invited Talk "What Software Analytics Can Do for Developers and Testers" by  Andy Zaidman  (Delft University of Technology, The Netherlands)

What do we know about software development? A whole lot and at the same time surprisingly little. Some of the things that we know came to us through folklore, stories of how something happened in a specific project, for a specific programming language. One such element of folklore is the assumption that software developers spend around 50% of their time on testing and debugging. While no-one would disagree that these phases are essential in software development, the real effort it takes is unknown. What is more, also the things that software engineers are struggling with during testing or debugging are not know to us. In this talk, we will analyse how developers perform developer testing, how they use Continuous Integration related to testing and how debugging is done. From a research perspective, but also from a very practical developer-oriented perspective. This talk goes to show that both researchers and developers can benefit from software analytics.

[16:45 - 18:00] — Poster Reception and Networking Drink 

  • VUB student posters on research in software engineering
  • UA student posters on research in software engineering

Photos

 

Photo Photo Photo Photo Photo Photo Photo Photo Photo Photo