8th QUASAR/VALSE Workshop
CITI, Monte da Caparica
Thursday, June 23, 2011
SOME HISTORICAL NOTES
This workshop, organized by the QUASAR Research Group, is held annually since 2004. QUASAR was created at CITI in 2001 and is the natural evolution of the MOOD research team (within the Software Engineering Group at INESC) that initially focused on software metrics and produced pioneering work on experimental software engineering in Portugal from 1994 to 2001. Since its inception, the mission of the QUASAR group has been to contribute to the state-of-the-art on experimental software engineering and software quality in general, as well as disseminating those advances both in post-graduate level courses and in the Portuguese software industry. To consubstantiate those goals, the QUASAR strategy encompasses a continuing participation in international scientific events, international research networks and nationally funded research projects, along with the conception of academic and tutorial materials and the production of tools to support experimentation. In the last few years, a new research thread on IT service management has gained relevance, as it can observed at the QUASAR publication record.
The QUASAR group is actively involved in the VALSE project-team, an organizational unit within CITI created in 2009, whose mission is to develop new methods, techniques and tools for supporting the application of quantitative and qualitative validation techniques to Software Engineering related areas, such as software architecture, software evolution, refactoring, technology assessment, process modeling and IT services management. The VALSE team encompasses 5 PhDs and a varying number of graduate students (PhD and MSc).
· QUASAR - QUantitative Approaches on Software Engineering And Reengineering;
· VALSE - VALidation of Software Engineering methods, techniques and tools;
· INESC -Instituto de Engenharia de Sistemas e Computadores (a portuguese R&D institute).
- Strengthen teamwork within QUASAR/VALSE;
- Presenting a representative sample of the ongoing work being carried out at QUASAR and CITI VALSE team;
- Allowing QUASAR/VALSE graduate students to get an independent feedback on their research;
- Foster the cross-fertilization of ideas and identification of complementary research strengths;
- Promotion of the cooperation with other research teams, within and outside CITI.
- Fernando Brito e Abreu, CITI & ISCTE-IUL
- Guilherme Horta Travassos, COPPE/UFRJ
- Miguel Goulão, CITI & FCT/UNL
- Miguel Monteiro, CITI & FCT/UNL
- Vasco Amaral, CITI & FCT/UNL
- Victor Lobo, CINAV & ISEGI/UNL
Each communication will include 20m for oral presentation plus 20m for discussion.
SESSION 1 – LANGUAGE ENGINEERING
(Chair: Vasco Amaral)
· Anacleto Correia, “SLALOM: a Language for Service Level Agreement Specification and Monitoring”
· Ankica Barišić, “Quality in Use of DSLs: Current Evaluation Methods”
SESSION 2 – MODULARITY AND EFFICIENCY
(Chair: Miguel Monteiro)
· Arlindo Lima, “Java Model for Internal Attributes Assessment”
· Pedro Monteiro, “Harppie: Hyper Algorithmic Recipe for Productive Parallelism Intensive Endeavors”
SESSION 3 – CODE SMELLS
(Chair: Miguel Goulão)
· Sérgio Bryton, “Code Smells and Code Structure: An Empirical Study”
· Tiago Pessoa, “An Eclipse Plugin to Support Code Smells Detection”
SESSION 4 – CLOUD COMPUTING
(Chair: Fernando Brito e Abreu)
· Luís Ferreira da Silva, “Moving to the Cloud: Estimating the Internet Connection Bandwidth”
· Fernando Brito e Abreu, “Quality in the Cloud: Where Can We Land?”
“SLALOM: a Language for Service Level Agreement Specification and Monitoring”
Anacleto Correia (speaker), Fernando Brito e Abreu, Vasco Amaral
In domains such as IT service management, web services or cloud computing, services provisioning is usually underpinned by service level agreements (SLAs). By means of a SLA contract the parties intend to guarantee the quality of provided services. However, an open issue in this topic is concerned with the mapping between the customer business perspective of SLAs and service provider SLA implementation and monitoring. In this paper we intend to address this issue, by proposing the SLAs Language for specificatiOn and Monitoring (SLALOM) that could bridge de gap between business and IT perspective of SLAs.
The first step in creating SLALOM was to find the common concepts in underlying languages and technologies related with SLA specification and monitoring, i.e. goal-oriented techniques for elicitation of quality attributes, the metamodel of SLA life cycle, and process modeling notations used to depict IT services. Those concepts were expressed in an abstract syntax model. The second step of SLALOM creation, was writing a concrete syntax of the language. The concrete syntax encompasses an alphabet (metaclasses), scanning and parsing rules, abstraction rules, and binding rules. Both abstraction and binding rules are used as transformation rules from a concrete syntax model to the abstract syntax model in order to validate models representing actual SLAs specification and monitoring rules.
“Quality in Use of DSLs: Current Evaluation Methods”
Ankica Barišić (speaker), Bruno Barroca, Vasco Amaral, Miguel Goulão
Domain Specific Languages (DSLs) are claimed to contribute to increment productivity, while reducing the required maintenance and programming expertise. These languages are expected to be used by domain experts, who may not necessarily have a strong programming background. In this context, the usability of these languages becomes a major issue: if the language is not easy to learn and use by domain experts, the DSL is unlikely to be successfully adopted.
Existing evidence supporting claims on increased productivity and decreased required programming expertise is mostly anecdotal. A recent systematic literature review on the state of practice concerning the evaluation performed by Software Languages Engineering (SLE) developers on the usability of their DSLs, and its impact on productivity, showed that such evaluation is very often skipped, relaxed, or at least omitted from papers reporting the development of DSLs. In the few exceptions where some sort of usability evaluation is reported, that mostly are tend to be ad-hoc, with ambiguous definitions of what they are evaluating, and covering just part of what would be typical in a mature usability evaluation process.
It is important to bridge this gap in Languages Engineering, to foster high quality DSLs. We argue that a systematic approach based on User Interface Experimental validation techniques should be used to assess the impact of the introduction of DSLs in the productivity of domain experts. The rationale is that by assessing important usability attributes early in language construction will ultimately foster a higher productivity of DSL users. This work's contribution, besides highlighting the problem of the absence of systematic approaches for experimental validation of DSLs in general, is to identify the quality in Use attributes that would benefit from this assessment.
“Java Model for Internal Attributes Assessment”
Arlindo Lima (speaker), Miguel Pessoa Monteiro, Miguel Goulão
As software engineering matures, software measurement is increasingly being recognized as one of its key elements. Despite this recognition, the current state of software measurement is not very satisfying. In contrast to other engineering disciplines, many of the currently proposed software measures are not credible. We are particularly interested in one of the most important, and urgent, technical factors that has been identified as the root of this lack of credibility: the deficient precision of software measurement methods. In this presentation, an ontology to precisely measure some Java internal attributes will be introduced.
“Harppie: Hyper Algorithmic Recipe for Productive Parallelism Intensive Endeavors”
Pedro Monteiro (speaker), Miguel Pessoa Monteiro
Over the last few years, parallelism-driven programming has been gaining increasing importance and multicore processing is now undergoing widespread adoption. The massification of parallelism has led to a significant increase in the research and development of new and sophisticated ways to program parallel applications. That research is mainly fuelled by the need of most complex sequential algorithms to leave the sequential plateau to reach new peaks of parallel performance. However, much still remains to be said about the productive way to develop parallel software.
This presentation discusses the features and potential of the new generation of parallelism-driven programming techniques and presents a work in progress on a proposal of a methodology to provide enhanced productivity in the design and evolution of parallel programs.
“Detecting Code Smells with Clustering Techniques: A Case Study”
Sérgio Bryton (speaker), Fernando Brito e Abreu
Background: Code smells are described in natural language and their detection is mostly done by manual inspection. Although they may not indicate a real problem in code, these patterns must be detected and analyzed to decide if and how to refactor. The automatic detection of code smells could lead to increased efficiency in software maintenance.
Objective: Analyze the eventual relationship between code smells and clusters of classes and methods identified based on a quantitative assessment of source code.
Method: We performed a case study, where the source code of an open source application was assessed with software metrics. The code smells within this source code were previously detected by experts. Afterwards, we identified clusters of classes and methods with statistical techniques. Finally, we looked for statistical evidence of the relationship between the code smells and the clusters identified.
“An Eclipse Plugin to Support Code Smells Detection”
Tiago Pessoa (speaker), Fernando Brito e Abreu, Miguel Pessoa Monteiro, Sérgio Bryton
Eradication of code smells is known to improve software design, readability and extensibility. Yet, its detection in large systems is time consuming and error-prone, due to the inherent subjectivity of the detection process. The aim of this work is the automation of a technique to code smells detection, based upon a Binary Logistic Regression model calibrated by expert’s knowledge, that mitigates the subjectivity problem. A tool, developed as an Eclipse plug-in, is presented, along with the process to detect, calibrate and improve code smells assessment in Java source code.
“Moving to the Cloud: Estimating the Internet Connection Bandwidth”
Luís Ferreira da Silva (speaker), Fernando Brito e Abreu
IT Infrastructures (ITI) have long been understood in terms of people and resources such as servers, routers, firewalls and operating systems, among other components, running and providing services inside the organization. The need to reduce the cost of ITI ownership, by offloading its capacity to third parties, has motivated organizations to consider the cloud computing alternative. The main drawback they face when opting for the cloud is the dependency on and requirements of the internet connection, since it must be fast and reliable.
This paper addresses this concern by providing guidelines for estimating internet connection bandwidth requirements for a prototypical cloud-based organization represented by means of an IT infrastructure pattern. ITI patterns are reusable and proven solutions to support the ITI design process and to facilitate the communication among stakeholders.
“Quality in the Cloud: Where Can We Land?”
Fernando Brito e Abreu (speaker)
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Service provisioning in the cloud comes into three flavors: Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS) and Infrastructure-as-a-Service (IaaS). This talk embodies my initial reflections on the quality of the SaaS and PaaS perspectives.
For assessing SaaS quality I use the ISO9126 framework, to conclude that research in this area may not be such an interesting issue in the scope of Software Engineering. Research on PaaS seems to be a far more challenging topic for Software Engineering researchers. In fact, providing in the cloud all of the facilities required to support the complete life cycle of building and delivering web applications and services, and assessing their effectiveness, raises a set of new interesting topics, several of them calling for experimentation.