Publications

Export 58 results:
Sort by: Author Title Type [ Year  (Asc)]
2005
Goulão, M., and F. B. Abreu, "Validação Cruzada de Métricas para Componentes", IEEE Transactions Latin America, vol. 3, no. 1, 2005. Abstract

n/a

n/a
2006
Goulão, M., and F. B. Abreu, "On the Influence of Practitioners' Expertise in Component-Based Software Reviews", 10th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE'2006), Nantes, 2006. Abstract

n/a

n/a
2007
Goulão, M., and F. B. Abreu, "An overview of metrics-based approaches to support software components reusability assessment", Software Quality Measurement: Concepts and Approaches, Hyderabad, ICFAI Books, pp. 264, 2007. Abstractgoulaoabreubookchapter.pdf

Objective: To present an overview on the current state of the art concerning metrics-based
quality evaluation of software components and component assemblies.
Method: Comparison of several approaches available in the literature, using a framework
comprising several aspects, such as scope, intent, definition technique, and maturity.
Results: The identification of common shortcomings of current approaches, such as
ambiguity in definition, lack of adequacy of the specifying formalisms and insufficient
validation of current quality models and metrics for software components.
Conclusions: Quality evaluation of components and component-based infrastructures
presents new challenges to the Experimental Software Engineering community.

Goulão, M., and F. B. Abreu, "Modeling the Experimental Software Engineering Process", 6th International Conference on the Quality of Information and Communications Technology (QUATIC'2007), Lisbon, Portugal, IEEE Computer Society, pp. 77-90, 12-14 Sep., 2007. Abstractquatic2007mgfbafinal.pdf

Reviews on software engineering literature have shown an insufficient experimental validation of claims, when compared to the standard practice in other well-established sciences. Poor validation of software engineering claims increases the risks of introducing changes in the software process of an organization, as the potential benefits assessment is based on hype, rather than on facts. The community lacks highly disseminated experimental best practices. We contribute with a model of the experimental software engineering process that is aligned with recent proposals for best practices in experimental data dissemination. The model can be used in the definition of software engineering experiments and in comparisons among experimental results.

2010
Gabriel, P., M. Goulão, and V. Amaral, "Do Software Languages Engineers Evaluate their Languages?", XIII Congreso Iberoamericano en "Software Engineering" (CIbSE'2010), ISBN: 978-9978-325-10-0, Cuenca, Ecuador, Universidad del Azuay, pp. 149-162, 2010. Abstractgabrielgoulaoamaralcibse2010.pdf

Domain Speci c Languages (DSLs) can contribute to increment productivity, while reducing the required maintenance and programming expertise. We hypothesize that Software Languages Engineering (SLE) developers consistently skip, or relax, Language Evaluation. Based on the experience of engineering other types of software products, we assume that this may potentially lead to the deployment of inadequate languages. The fact that the languages already deal with concepts from the problem domain, and not the solution domain, is not enough to validate several issues at stake, such as its expressiveness, usability,
eff ectiveness, maintainability, or even the domain expert's productivity while using them. We present a systematic review on articles published in top ranked venues, from 2001 to 2008, which report DSLs' construction, to characterize the common practice. This work con rms our initial hypothesis and lays the ground for the discussion on how to include a systematic approach to DSL evaluation in the SLE process.

Santos, J. P., A. Moreira, J. Araújo, and M. Goulão, "Increasing Quality in Scenario Modelling with Model-Driven Development", 7th International Conference on the Quality of Information and Communications Technology (QUATIC'2010), Porto, Portugal, IEEE Computer Society, pp. 204-209, 29 Sep.-2 Oct., 2010. Abstract

http://dx.doi.org/10.1109/QUATIC.2010.36

santos_et_al_quatic2010.pdf

Models, with different levels of detail, share similar abstractions that can be reused by means of model-driven techniques such as transformations. For example, scenarios are a well-known technique in requirements engineering to represent behavioral flows in a software system. When using UML, scenarios are typically represented with activity models in the early stages of software development, while sequence models are used to describe more detailed object interactions as modeling progresses. This paper defines transformation rules to automate the migration from activity to sequence models. We present a case study illustrating the application of our transformation rules. Our preliminary assessment of the impact of the benefits of using these transformations points to: (i) a reduction of around 50% in the effort building sequence models, (ii) increased trace ability among models, and (iii) error prevention when migrating from different scenario notations.

2011
Barišić, A., V. Amaral, M. Goulão, and B. Barroca, "How to reach a usable DSL? Moving toward a Systematic Evaluation", Electronic Communications of the EASST (MPM), 2011. Abstract

Domain Specific Languages (DSLs) are claimed to increase productivity, while reducing the required maintenance and programming expertise. In this context, DSL usability by domain experts is a key factor for its successful adoption. Evidence that support those improvement claims is mostly anecdotal. Our systematic literature review showed that a usability evaluation was often skipped, relaxed, or at least omitted from papers reporting the development of DSLs. The few exceptions mostly take place at the end of the development process where fixing problems identified is too expensive. We argue that a systematic approach based on User Interface experimental validation techniques should be used to assess the impact of the new DSLs. The rationale is that assessing important and specially tailored usability attributes for DSLs early in language construction will ultimately foster a higher productivity of the DSL users. This paper, besides discussing the quality criteria, proposes a development and evaluation process that can be used to achieve usable DSLs in a better way.

Barišić, A., V. Amaral, M. Goulão, and B. Barroca, "Quality in Use of Domain Specific Languages: a Case Study", 3rd ACM SIGPLAN workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU 2011), Portland, USA, ACM, pp. 65-72, 2011. Abstract

http://dx.doi.org/10.1145/2089155.2089170

plateau2011-barisic.pdf

Domain Specific Languages (DSLs) are claimed to increment productivity, while reducing the required maintenance and programming expertise. In this context, DSLs usability is a key factor for its successful adoption.

In this paper, we propose a systematic approach based on User Interfaces Experimental validation techniques to assess the impact of the introduction of DSLs on the productivity of domain experts. To illustrate this evaluation approach we present a case study of a DSL for High Energy Physics (HEP).

The DSL on this case study, called Pheasant (PHysicist’s EAsy Analysis Tool), is assessed in contrast with a pre-existing baseline, using General Purpose Languages (GPLs) such as C++. The comparison combines quantitative and qualitative data, collected with users from a real-world setting. Our assessment includes Physicists with programming experience with two profiles; ones with no experience with the previous framework used in the project and other experienced.

This work’s contribution highlights the problem of the absence of systematic approaches for experimental validation of DSLs. It also illustrates how an experimental approach can be used in the context of a DSL evaluation during the Software Languages Engineering activity, with respect to its impact on effectiveness and efficiency.

Goulão, M., A. Moreira, J. Araújo, and J. P. Santos, "Streamlining scenario modeling with Model-Driven Development: a case study", Model-Driven Requirements Engineering Workshop (MoDRE 2011), at the 19th International Requirements Engineering Conference (RE 2011), Trento, Italy, IEEE Computer Society, pp. 55-63, 29 Aug., 2011. Abstract

http://dx.doi.org/10.1109/MoDRE.2011.6045367

modre2011-cameraready.pdf

Scenario modeling can be realized through different perspectives. In UML, scenarios are often modeled with activity models, in an early stage of development. Later, sequence diagrams are used to detail object interactions. The migration from activity diagrams to sequence diagrams is a repetitive and error-prone task. Model-Driven Development (MDD) can help streamlining this process, through transformation rules. Since the information in the activity model is insufficient to generate the corresponding complete sequence model, manual refinements are required. Our goal is to compare the relative effort of building the sequence diagrams manually with that of building them semi-automatically. Our results show a decrease in the number of operations required to build and refine the sequence model of approximately 64% when using MDD, when compared to the manual approach.

Espada, P., M. Goulão, and J. Araújo, "Measuring Complexity and Completeness of KAOS Goal Models", International Workshop on Empirical Requirements Engineering (EmpiRE 2011), at the 19th International Requirements Engineering Conference (RE 2011), Trento, Italy, IEEE Computer Society, 30 Aug., 2011. Abstract

http://dx.doi.org/10.1109/EmpiRE.2011.6046252

espadagoulaoaraujo2011empire.pdf

KAOS is one of the most well-known goal-oriented requirements engineering approaches. Nevertheless, building large KAOS models sometimes results in incomplete and/or complex requirements models that are difficult to understand and maintain. These shortcomings often lead to an increase in costs of product development and evolution. Therefore, for large-scale systems, the ability to manage the complexity and completeness of KAOS models is essential. In this paper, we propose a metrics suite for supporting the quantitative assessment of KAOS models complexity and completeness, in order to support their early identification. We apply the metrics to an example taken from a health club system specification.

Barišić, A., V. Amaral, M. Goulão, and B. Barroca, "Quality in Use of DSLs: Current Evaluation Methods", 3rd INForum - Simpósio de Informática (INForum2011), Coimbra, Portugal, 8-9 Sep., 2011. Abstractinforum_2011_submission_174.pdf

Domain Speci c Languages (DSLs) are claimed to contribute
to increment productivity, while reducing the required maintenance and
programming expertise. In this context, the usability of these languages
becomes a major issue: if the language is not easy to learn and use, it is
unlikely to be successfully adopted.

It is important to foster high quality DSLs during its engineering process.
We argue that a systematic approach based on User Interface Experi-
mental validation techniques should be used to assess the impact of the
introduction of DSLs in the productivity of DSL user. Productivity can
be fostered by assessing important usability attributes early in the lan-
guage construction . This work's contribution, besides highlighting the
problem of the absence of systematic approaches for experimental vali-
dation of DSLs in general, is to identify existing evaluation approaches
that can be adapted from the eld of User Interfaces.

2012
Barišić, A., V. Amaral, M. Goulão, and B. Barroca, "Evaluating the Usability of Domain-Specific Languages", Formal and Practical Aspects of Domain-Specific Languages: Recent Developments: IGI Global, 2012. Abstract

We can regard Domain-Specific Languages (DSLs) as User Interfaces (UIs) because they bridge the gap
between the domain experts and the computation platforms. Usability of DSLs by domain experts is a key
factor for their successful adoption. The few reports supporting improvement claims are persuasive, but
mostly anecdotal. Systematic literature reviews show that evidences on the effects of the introduction of
DSLs are actually very scarce. In particular, the evaluation of usability is often skipped, relaxed, or at
least omitted from papers reporting the development of DSLs. The few exceptions mostly take place at
the end of the development process, when fixing problems is already too expensive. A systematic
approach, based on techniques for the experimental evaluation of UIs, should be used to assess suitability
of new DSLs. This chapter presents a general experimental evaluation model, tailored for DSLs’
experimental evaluation, and instantiates it in several DSL’s evaluation examples.

Monteiro, R., J. Araújo, V. Amaral, M. Goulão, and P. Patrício, "Model-Driven Development for Requirements Engineering: The Case of Goal-Oriented Approaches", 8th International Conference on the Quality of Information and Communications Technology (QUATIC 2012), Lisbon, Portugal, IEEE CPS, 2012. Abstractquatic2012-full-crmg.pdf

Goal-Oriented Requirements Engineering (GORE) has received increasing attention over the past few years.
There are several goal-oriented approaches, each one using different kinds of models. We argue that it would be useful to relate them or even perform transformations among them automatically, in order to understand their similarities and differences, their advantages and disadvantages, allowing a possible migration or comparison between approaches. This is something that has not received enough attention. In this paper
we propose the definition and implementation of goal model transformations between i* and KAOS. As an immediate contribution, the approach can be used to migrate from one goal model to another through automatic model transformations. This approach also contributes to relate the concepts of i* and KAOS models and will help, for example, a development team in making the decision on which approach to follow, according to the nature of the project and the expressiveness of an approach to represent certain concepts
(e.g., obstacles are represented explicitly in KAOS, but not in i*). Another contribution is to facilitate communication among members of the same team, if they are specialized in different approaches.

Barišić, A., P. Monteiro, V. Amaral, M. Goulão, and M. Pessoa Monteiro, "Patterns for Evaluating Usability of Domain-Specific Languages", Proceedings of the Pattern Languages of Programs Conference, PLoP 2012: ACM, 19-21 October, 2012. Abstract

http://hillside.net/plop/2012/papers/Group%203%20-%20Coyote/Patterns%20for%20Evaluating%20Usability%20of%20Domain-Specific%20Languages.pdf

For years the development of software artifacts was the sole domain of developers and project
managers. However, experience has taught us that the Users play a very important role in
software development and construction. On Domain Specific Languages the inclusion of the
domain experts directly in the development cycle is a very important characteristic, as they have
often an important role in making and constraining the domain of the language.
DSLs are credited with increased productivity and ease of use, but this fact is hardly ever proven.
Moreover, usability tests are frequently only performed at the final stages of the project when
changes have a significant impact on the budget. To help prevent this, in this paper we present a
pattern language for evaluating the usability of DSLs. Our patterns can help show how to use an
iterative usability validation development strategy to produce DSLs that can achieve a high
degree of usability.

Barišić, A., V. Amaral, and M. Goulão, "Usability Evaluation of Domain-Specific Languages", Simpósio de Estudantes de Doutoramento em Engenharia de Software (SEDES 2012), hosted by QUATIC 2012, Lisbon, Portugal, IEEE CPS, 3 Sep., 2012. Abstractbarisic2012sedes.pdf

Domain-Specific Languages (DSLs) are claimed to bring important productivity improvements to developers,
when compared to General-Purpose Languages (GPLs). The increased Usability is regarded as one of the key benefits of DSLs when compared to GPLs, and has an important impact on the achieved productivity of the DSL users. So, it is essential to build in good usability while developing the DSL. The purpose of this proposal is to contribute to the systematic activity of Software Language Engineering by focusing on the
issue of the Usability evaluation of DSLs. Usability evaluation is often skipped, relaxed, or at least omitted from papers reporting development of DSLs. We argue that a systematic approach based on User Interface experimental validation techniques should be used to assess the impact of new DSLs. For that purpose, we propose to merge common Usability evaluation processes with the DSL development process. In order to provide reliable metrics and tools we should reuse and identify good practices that exist in Human-Computer
Interaction community.

Goulão, M., N. Fonte, M. Wermelinger, and F. B. Abreu, "Software Evolution Prediction Using Seasonal Time Analysis: a Comparative Study", 16th European Conference on Software Maintenance and Reengineering (CSMR 2012), Szeged, Hungary, IEEE Computer Society, 30 Mar., 2012. Abstract

http://doi.ieeecomputersociety.org/10.1109/CSMR.2012.30

goulao2012csmr.pdf

Prediction models of software change requests are useful for supporting rational and timely resource
allocation to the evolution process. In this paper we use a time series forecasting model to predict software
maintenance and evolution requests in an open source software project (Eclipse), as an example of projects with seasonal release cycles. We build an ARIMA model based on data collected from Eclipse’s change request tracking system since the project’s start. A change request may refer to defects found in the software, but also to suggested improvements in the system under scrutiny. Our model includes the identification of seasonal patterns and tendencies, and is validated through the forecast of the change requests evolution for the next 12 months. The usage of seasonal information significantly improves the estimation ability of this model, when compared to other ARIMA models found in the literature, and does so for a much longer estimation period. Being able to accurately forecast the change requests’ evolution over a fairly long time period is an important ability for enabling adequate process control in maintenance activities, and facilitates
effort estimation and timely resources allocation. The approach presented in this paper is suitable for projects with a relatively long history, as the model building process relies on historic data.

2013
Monteiro, R., J. Araújo, V. Amaral, M. Goulão, and P. Patrício, "Adding Interoperability to Requirements Models", Software Quality Professional Journal, vol. 15, issue 4, pp. 16-27, 2013. Abstract

(c) American Society for Quality

sqpv15i4monteiro.pdfWebsite

Complex software systems inherently require a variety of models used in all of the development stages. A general concern is to guarantee consistency and traceability among these models. Model-driven development (MDD) can help tackle this concern. Although MDD has been mainly used in later development stages, it is relatively unexplored in requirements engineering. In this article, the authors discuss how to
leverage MDD to support consistency and traceability in requirements modeling. To illustrate this, they apply MDD to goaloriented requirements engineering (GORE) by making bidirectional mappings between two well-known GORE approaches (i* and KAOS). The result is an interoperable framework that can be used to migrate from one goal model to another through automatic model transformations, keeping consistency and traceability, so requirements engineers can make the best use of each approach.

Moreira, A., J. Araújo, A. Rashid, and M. Goulão, "Using Aspects to Model Volatile Concerns", Aspect-Oriented Requirements Engineering, Berlin Heidelberg, Springer, pp. 183-205, 2013. Abstract

A rapidly changing market leads to software systems with highly volatile requirements. In many cases, new demands in software can often be met by extending the functionality of systems already in operation. By modularizing volatile requirements that can be altered at the client’s initiative or according to market demands, we can build a stepping-stone for management of requirements change. The volatility must be managed in a way that reduces the time and costs associated with updating a system to meet the new requirements. In this chapter, we present an approach for handling volatile concerns during early life cycle software modeling. The key insight is that techniques for aspect-oriented software development can be applied to modularize volatility and to weave volatile concerns into the base software artifacts.

Almeida, C., M. Goulão, and J. Araújo, "A Systematic Comparison of i* Modelling Tools Based on Syntactic and Well-Formedness Rules", 6th International i* (iStar) Workshop, Valencia, Spain, 17-18 Jun. , 2013. Abstractalmeidagoulaoaraujo2013istar.pdf

There are several tools currently available in the i * community. These tools have diff erent features and purposes. Choosing the most adequate tool for a specifi c modelling situation can be a challenge. To overcome this diffculty, we present a systematic comparison of the i * tools listed in the i * wiki page, according to their features, syntax coverage and semantic analysis support. Our comparison highlights the
diff erent strengths of those tools, to help identifying situations for which each tool might be particularly useful. We contribute with an aggregated vision of current i * tool support to the body of knowledge of the i * community. In addition, this comparison also helps identifying opportunities for further evolution of the surveyed tools.

Espada, P., M. Goulão, and J. Araújo, "A Framework to Evaluate Complexity and Completeness of KAOS Goal Models", 25th International Conference on Advanced Information Systems Engineering, CAiSE 2013, Valencia, Spain, 17-21 Jun., 2013. Abstractespadagoulaoaraujocaise2013.pdf

Goal-Oriented Requirements Engineering (GORE) approaches have been developed to facilitate the requirements engineers work by, for example, providing abstraction mechanisms to help eliciting and modeling requirements. One of the well-established GORE approaches is KAOS. Nevertheless, in large-scale systems building KAOS models may result in incomplete and/or complex goal models, which are difficult to understand and change. This may lead to an increase in costs of product development and evolution. Thus, for large-scale systems, the effective management of complexity and completeness of goal
models is vital. In this paper, we propose a metrics framework for supporting the quantitative assessment of complexity and completeness of KAOS goal models. Those metrics are formally specified, implemented and incorporated in a KAOS modeling tool. We validate the metrics with a set of real-world case studies and discuss the identified recurring modeling practices.

Araújo, J., M. Goulão, A. Moreira, I. Simão, V. Amaral, and E. Baniassad, "Advanced Modularity for Building SPL Feature Models: a Model-Driven Approach", 28th ACM Symposium on Applied Computing, Requirements Engineering Track, ACM-SAC 2013, Coimbra, Portugal, ACM, 18-22 Mar., 2013. Abstractaraujo2013sac.pdf

Feature Models are commonly used to specify commonalities and variabilities in Software Product Lines (SPL). Our goal is to enhance feature modeling with traceability and improved support for crosscutting concerns. While traceability will show the features’ requirement-origins, providing means to reason about
their existence, crosscutting concerns will be handled through advanced modularity mechanisms (e.g. aspects), making the impact of changes to SPL models less difficult to understand and analyze. The result is Theme/SPL, a novel SPL requirements technique based on a concern-driven approach (Theme/Doc). Theme/SPL includes the proposal of a domain-specific language for specifying Theme/Doc models and uses model-driven development to generate automatically feature models from them. We show the applicability of the technique through a case study using a within-group design to evaluate the final results and tools developed.

Fernandes, A. I., M. Goulão, and Armanda Rodrigues, "A Comparison of Maps Application Programming Interfaces", 16th AGILE Conference on Geographic Information Science, AGILE 2013, Leuven, Belgium, May 14-17, 2013. Abstractagile2013fernandesetalcameraready.pdf

The development of web applications that manipulate geo-referenced information is often supported by Application Programming Interfaces (APIs), allowing a fast development cycle for high quality applications. APIs can be used by programmers with different expertise levels and choosing an adequate API may
have a dramatic impact on the productivity achieved by those programmers. Our goal is to compare maps APIs with respect to their usability. We compare three different APIs: the Google Maps JavaScript API, the ArcGIS API for JavaScript, and the OpenLayers JavaScript Mapping Library. Our comparison is supported by
a set of software metrics and is performed in two orthogonal ways: the comparison of three implementations of the same system prototype, each using one of the APIs under scrutiny; the comparison of the APIs specifications. The main results of the study are related to the size of the APIs, with the Google API being significantly smaller than the others.

2014
Machado, R., M. Goulão, F. B. e Abreu, and J. Pascoal Faria, "Introduction to Special Issue: Quality in Information and Communications Technology", Innovations in Systems and Software Engineering, vol. 10, issue 1, pp. 1-2, 2014. machado2014isse.pdfWebsite
Sabino, A., Armanda Rodrigues, M. Goulão, and J. Gouveia, "Indirect Keyword Recommendation", International Conference on Intelligent Agent Technology, WIC 2014, Warsaw, Poland, IEEE/WIC/ACM, 11-14 August, 2014. Abstractsabino2014wic.pdf

Helping users to find useful contacts or potentially interesting subjects is a challenge for social and productive
networks. The evidence of the content produced by users must be considered in this task, which may be simplified by the use of the meta-data associated with the content, i.e., the categorization supported by the network – descriptive keywords, or tags. In this paper we present a model that enables keyword discovery
methods through the interpretation of the network as a graph, solely relying on keywords that categorize or describe productive items. The model and keyword discovery methods presented in this paper avoid content analysis, and move towards a generic approach to the identification of relevant interests and, eventually,
contacts. The evaluation of the model and methods is executed by two experiments that perform frequency and classification analyses over the Flickr network. The results show that we can efficiently recommend keywords to users.

Gralha, C., M. Goulão, and J. Araújo, "Identifying modularity improvement opportunities in goal-oriented requirements models", 26th International Conference on Advanced Information Systems Engineering, CAiSE 2014, Thessaloniki, Greece, 16-20 Jun., 2014. Abstract

Goal-oriented Requirements Engineering approaches have become popular in the Requirements Engineering community as they provide expressive model elements for requirements elicitation and analysis. However, as a common challenge, they are still struggling when it comes to managing the accidental complexity of their models. In this paper, we provide a set of metrics, which are formally specified and have tool support, to measure and analyze the complexity of goal models, in particular i* models. The aim is to identify refactoring opportunities to improve the modularity of those models, and consequently reduce their complexity. We evaluate these metrics by applying them to a set of well-known case studies from industry and academia. Our results allow the identification of refactoring opportunities in the evaluated models.