MoVES Yearly Event 2011

  • When? – 7th of December
  • Where? – ICAB Brussels
  • Registration and more info at:

http://moves-benevol2011.eventbrite.com/

This year’s event will be feature work-package reports, presentations by the nominees to the MoVES Most Promising Young Researcher Award, a poster event and a number of research presentations.

Program

9:45 Coffee Break and Poster Set-up
10:00 Welcome
Session 1. Work Package Report
10:15 Work Package 1
10:30 Work Package 2
10:45 Work Package 3
11:00 Work Package 4
11:15 Work Package 5
11:30 Work Package 6
11:45 Work Package 7
12:00 Lunch & Management Meeting
1:00 Poster Session
Session 2. MoVES Most Promising Young Researchers
1:30 Veronica Uquillas
2:00 Aram Hovsepyan
2:30 Nicolas Cardozo
3:00 MoVES Phase VII
3:10 Coffee Break
3:30 MMPYR Award + Poster Award
Session 3. Research Results Presentations
3:35 Understanding Ajax Applications by Connecting Client and Server Interactions - Andy Zaidman (TUD)
3:55 Using Constraint-based Optimization and Variability to Support Continuous Self-Adaptation - Daniel Romero (INRIA)
4:15 Generating Range Fixes for Software Configuration - Arnaud Hubaux (FUNDP)
4:35 Uniform modularization of workflow concerns using Unify - Niels Joncheere (VUB)
4:55 "in vivo" research in software evolution - Serge Demeyer (UA)
5:15 Closing

Research Presentation Abstracts

  • Andy Zaidman - Understanding Ajax Applications by Connecting Client and Server Interactions

Ajax-enabled web applications are a new breed of highly interactive, highly dynamic web applications. Although Ajax allows developers to create rich web applications, Ajax applications can be difficult to comprehend and thus to maintain. For this reason, we have created FireDetective, a tool that uses dynamic analysis at both the client (browser) and server-side to facilitate the understanding of Ajax applications. We evaluate FireDetective using (1) a pretest-posttest user study and (2) a field user study. Preliminary evidence shows that the FireDetective tool is an effective aid for web developers striving to understand Ajax applications.

  • Daniel Romero - Using Constraint-based Optimization and Variability to Support Continuous Self-Adaptation

Self-adaptation is one of the upcoming paradigms that accurately tackles nowadays systems complexity. In this con- text, Dynamic Software Product Lines model the intrinsic variability of a family of systems, and dynamically support their reconfiguration according to updated context. However, when several configurations are available for the same context, making a decision about the right one is a hard challenge: further dimensions such as quality of service or reconfiguration cost are needed to enrich the decision making process. In this paper, we propose to combine variability with Constraint-Satisfaction Problem techniques to face this challenge. The approach is illustrated and then validated with the MobiHome example, an ubiquitous and context- driven system used to support the control of a home through mobile devices.

  • Arnaud Hubaux - Generating Range Fixes for Software Configuration

To prevent configuration errors, highly configurable software often allows defining constraints over the available options. As these constraints can be complex, fixing a configuration that violates one or more constraints can be challenging. Although several fix-generation approaches exist, their applicability is limited because (1) they typically generate only one fix, failing to cover the solution that the user wants; and (2) they do not fully support non-Boolean constraints, which contain arithmetic, inequality, and string operators.

In the presentation, we will introduce a novel concept, range fix, for software configuration. A range fix specifies the options to change and the range of values at these options. We also designed an algorithm that automatically generates range fixes for a violated constraint, based on Reiter’s theory of diagnosis. We have evaluated our approach on data from five open source projects, showing that, for our data set, the algorithm generates complete fix lists that are mostly short and concise, in a fraction of a second.

  • Niels Joncheere - Uniform modularization of workflow concerns using Unify

Web service orchestrations are commonly implemented using dedicated workflow languages. Today, the Web Services Business Process Execution Language (WS-BPEL) is most commonly used for this purpose. However, WS-BPEL and most of the state-of-the-art general-purpose workflow languages offer a limited set of modularization mechanisms. This results in monolithic workflow specifications, in which different concerns are scattered across the workflow and tangled with one another. This hinders the design, evolution, and reusability of workflows expressed in these languages. We address this problem through the Unify framework. This framework enables uniform modularization of workflows by supporting the specification of all workflow concerns – including crosscutting ones – in isolation of each other. These independently specified workflow concerns are connected to each other using workflow-specific connectors. In order to further facilitate the development of workflows, and thus web service orchestrations, we enable the definition of concern-specific languages (CSLs) on top of the Unify framework. A CSL facilitates the expression of a family of workflow concerns by offering abstractions that map well to the concerns’ domain. Thus, domain experts can add concerns to a workflow using concern-specific language constructs. We exemplify the specification of a web service orchestration in Unify, and show the definition and application of two concern-specific languages built on top of Unify.

  • Serge Demeyer - “in vivo” research in software evolution

Software is vital to our society and consequently the software engineering community is investigating means to produce reliable software. For a long, long time, reliable software was seen as software “without bugs”. Today however, reliable software has come to mean “easy to adapt” because of the constant pressure to change. As a consequence, organisations producing software must seek for a delicate balance between two opposing forces: striving for reliability and striving for agility. In the former, organisations optimise for perfection; in the latter they optimise for development speed.

The ANSYMO research group in the University of Antwerp (Belgium) is investigating ways to reduce the tension between reliability and agility. We seek to make changes the primary unit of analysis during quality control and as such we expect to speed up the release process without sacrificing the safety net of the quality control. A few examples will clarify what we aim for.

- Misclassified bug reports. Text-mining techniques (such as employed in search engines on the web) are able to classify reported bugs into severe ones and non-severe ones. Severe bugs cause system crashes, hence software is seldom released when it is known that such bugs are lurking inside. On the other hand, non-severe bugs cause less harm hence its common practice to release systems with a list of known (non-critical) bugs. With our research we want to help software engineers to verify whether reported bug is indeed a severe one or not.

- What to (re)test ? To minimize the time for resolving bugs, it’s a good practice to have a fine-grained suite of unit tests that is run frequently. If a small change to a program causes a test to fail, then the location of the defect is immediately clear. Unfortunately, for large systems the complete suite of unit tests easily takes several hours, hence software engineers tend to post-pone the testing. If a unit test fails later in the process, then valuable time is lost to identify the precise location of a defect. With our research, we want to identify which unit tests are affected by a given change and run the respective unit tests in the background while the software engineer is programming.

“in vitro” vs. “in vivo” research

A research challenge like this calls for an “in vivo” research approach. Basically we take methods and tools that have proven their virtue in artificial lab conditions (so-called “in-vitro research”) and apply them in uncontrolled, realistic circumstances (so-called “in-vivo research”).

Industrial collaboration is therefore a necessity, luckily our research group has a strong reputation in that regard. Indeed, our PhD students actively work together with software engineers in both large as well as small organizations producing software intensive systems. As such we remain in close contact with the current state of the practice and match it against the upcoming state of the are.

yearlyevent2011.txt · Last modified: 2011/12/16 13:57 by ahu