P. Sfetsos, Apostolos Ampatzoglou, A. Chatzigeorgiou, Ignatios S. Deligiannis, I. Stamelos
The existence of design pattern instances is often regarded as an indication of elaborate software design, since patterns have been reported in many studies as techniques that improve software quality properties. Driven by the widespread belief that software libraries excel in terms of design quality compared to standalone applications, this study investigates first whether this claim is confirmed and second whether the improved quality can be attributed to the use of patterns. In particular we examine: (a) whether libraries exhibit improved design quality in terms of metrics compared to standalone applications, (b) the intensity of use of design patterns in the two software categories and (c) whether there is any correlation of design patterns usage and design quality at system level. The results of the study suggest that, some of the quality properties are improved in library software although no significant difference in the use of patterns have been observed. Moreover, there is an important number of GoF design patterns that appears to be correlated to software quality metrics.
{"title":"A Comparative Study on the Effectiveness of Patterns in Software Libraries and Standalone Applications","authors":"P. Sfetsos, Apostolos Ampatzoglou, A. Chatzigeorgiou, Ignatios S. Deligiannis, I. Stamelos","doi":"10.1109/QUATIC.2014.26","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.26","url":null,"abstract":"The existence of design pattern instances is often regarded as an indication of elaborate software design, since patterns have been reported in many studies as techniques that improve software quality properties. Driven by the widespread belief that software libraries excel in terms of design quality compared to standalone applications, this study investigates first whether this claim is confirmed and second whether the improved quality can be attributed to the use of patterns. In particular we examine: (a) whether libraries exhibit improved design quality in terms of metrics compared to standalone applications, (b) the intensity of use of design patterns in the two software categories and (c) whether there is any correlation of design patterns usage and design quality at system level. The results of the study suggest that, some of the quality properties are improved in library software although no significant difference in the use of patterns have been observed. Moreover, there is an important number of GoF design patterns that appears to be correlated to software quality metrics.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131269732","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
UALITY is often considered something that must be in conformance to system requirements. However, the latter keeps changing to guarantee business alignment, thus making quality a moving target! Requirements engineering helps stakeholders to elicit their expectancies with respect to systems, to prioritize such expectancies and, ultimately, to reach a common ground with other stakeholders with conflicting requirements. Furthermore, it helps stakeholders from different backgrounds to communicate among them, and with the systems developers. The former are not necessarily interested in the technical details of the implementation of the systems, while the latter are specialized in building systems, rather than on the specific applications of the systems they build. Caught in-between, requirements engineers must also keep up with newer development approaches such as Software Product Lines (SPL), Model Driven Development (MDD), Service Oriented Architectures (SOA).
{"title":"Foreword of the Thematic Track: Quality in ICT Requirements Engineering","authors":"Maria Lencastre","doi":"10.1109/QUATIC.2014.54","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.54","url":null,"abstract":"UALITY is often considered something that must be in conformance to system requirements. However, the latter keeps changing to guarantee business alignment, thus making quality a moving target! Requirements engineering helps stakeholders to elicit their expectancies with respect to systems, to prioritize such expectancies and, ultimately, to reach a common ground with other stakeholders with conflicting requirements. Furthermore, it helps stakeholders from different backgrounds to communicate among them, and with the systems developers. The former are not necessarily interested in the technical details of the implementation of the systems, while the latter are specialized in building systems, rather than on the specific applications of the systems they build. Caught in-between, requirements engineers must also keep up with newer development approaches such as Software Product Lines (SPL), Model Driven Development (MDD), Service Oriented Architectures (SOA).","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"55 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114569563","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The measurement of external software attributes and the analysis of how those attributes have evolved through the software's releases are challenging activities. This is particularly evident when we discuss the maintainability of Object-Oriented (OO) systems which, due to their specific characteristics, hide information that cannot be gathered through static analysis. As maintainability can be defined as the "speed and ease with which a program can be corrected or changed", we believe that test data are reflective of the changes performed during maintenance. Moreover, empirical observations allow to speculate about the relationships between maintainability and the behaviour of the software when executed by test cases (e.g., coverage values) and the test cases' characteristics (e.g., generation time). Our aim is to complement the state-of-the art by proposing a new approach for understanding and characterizing the maintainability of OO systems, which makes use of test data and of the information gathered from the tests' execution.
{"title":"On the Evaluation of Software Maintainability Using Automatic Test Case Generation","authors":"A. Nogueira, J. Ribeiro, M. Z. Rela","doi":"10.1109/QUATIC.2014.48","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.48","url":null,"abstract":"The measurement of external software attributes and the analysis of how those attributes have evolved through the software's releases are challenging activities. This is particularly evident when we discuss the maintainability of Object-Oriented (OO) systems which, due to their specific characteristics, hide information that cannot be gathered through static analysis. As maintainability can be defined as the \"speed and ease with which a program can be corrected or changed\", we believe that test data are reflective of the changes performed during maintenance. Moreover, empirical observations allow to speculate about the relationships between maintainability and the behaviour of the software when executed by test cases (e.g., coverage values) and the test cases' characteristics (e.g., generation time). Our aim is to complement the state-of-the art by proposing a new approach for understanding and characterizing the maintainability of OO systems, which makes use of test data and of the information gathered from the tests' execution.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133946604","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Developing user interfaces is an important part of software development process for web-applications. Frequent and small changes are inevitable in the process of developing and refactoring a user interface (UI) to improve user experience while preserving the functionality. Those changes however have been shown to easily break a majority of automated UI-level tests. Maintaining and fixing those test cases then increases the overall cost of development and decreases the benefit of test automation. In this paper, we propose a new test framework for identifying and locating the elements of the UI in a way that cannot be impacted by small UI changes. Our approach is inspired by the way human interact with the UIs of web applications and how such interactions are described and communicated in natural language to others. Our framework could significantly reduce the cost of test maintenance by enabling software engineers create UI-level tests that are naturally resistant to UI changes.
{"title":"A Novel Framework for Creating User Interface Level Tests Resistant to Refactoring of Web Applications","authors":"Heidar Pirzadeh, Sara Shanian, Farzin Davari","doi":"10.1109/QUATIC.2014.43","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.43","url":null,"abstract":"Developing user interfaces is an important part of software development process for web-applications. Frequent and small changes are inevitable in the process of developing and refactoring a user interface (UI) to improve user experience while preserving the functionality. Those changes however have been shown to easily break a majority of automated UI-level tests. Maintaining and fixing those test cases then increases the overall cost of development and decreases the benefit of test automation. In this paper, we propose a new test framework for identifying and locating the elements of the UI in a way that cannot be impacted by small UI changes. Our approach is inspired by the way human interact with the UIs of web applications and how such interactions are described and communicated in natural language to others. Our framework could significantly reduce the cost of test maintenance by enabling software engineers create UI-level tests that are naturally resistant to UI changes.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"197 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114266133","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper presents an approach for testing mobile applications using reverse engineering and behavioural patterns. The goal of this research work is to ease the testing of mobile applications by automatically identifying and testing behaviour that is common in this type of applications, i.e., behaviour patterns. The approach includes a tool to automatically explore an Android application. This tool also identifies patterns in the behaviour of the application and apply tests previously associated with those patterns. The final results of this research work will be a catalogue of behavioural patterns and the tool which will output a report on the matched patterns and another one on the testing of those patterns.
{"title":"Automated Pattern-Based Testing of Mobile Applications","authors":"Ines Coimbra Morgado, A. C. Paiva, J. Faria","doi":"10.1109/QUATIC.2014.47","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.47","url":null,"abstract":"This paper presents an approach for testing mobile applications using reverse engineering and behavioural patterns. The goal of this research work is to ease the testing of mobile applications by automatically identifying and testing behaviour that is common in this type of applications, i.e., behaviour patterns. The approach includes a tool to automatically explore an Android application. This tool also identifies patterns in the behaviour of the application and apply tests previously associated with those patterns. The final results of this research work will be a catalogue of behavioural patterns and the tool which will output a report on the matched patterns and another one on the testing of those patterns.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"44 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116079759","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Andreas Rümpel, Carsten Radeck, Juri Tichomirow, Klaus Meißner
Up to now, specification and evaluation of quality requirements is neglected in current approaches for developing composite Web mashups. Important, yet missing concepts are quality requirements models and tool support for user-centered requirements specification. Therefore, it is cumbersome and unsatisfactorily for Web users, to express quality requirements on mash up components and select suitable ones for their self-made applications. In this paper, we present a novel approach of modelling quality requirements for composite Web mashups using colloquial terms, which augment a tailored property model. To this end, we introduce a quality requirements metamodel for Web mashups and show, how the mash up platform can meet the target group's skills and expectations by specifying quality requirements with fuzzy expressions. A user study underlines the benefit of employed modelling concepts and the implemented requirements composer, when performing common composition tasks.
{"title":"Fuzzy Mashup Quality Requirements Specification for Web Users","authors":"Andreas Rümpel, Carsten Radeck, Juri Tichomirow, Klaus Meißner","doi":"10.1109/QUATIC.2014.42","DOIUrl":"https://doi.org/10.1109/QUATIC.2014.42","url":null,"abstract":"Up to now, specification and evaluation of quality requirements is neglected in current approaches for developing composite Web mashups. Important, yet missing concepts are quality requirements models and tool support for user-centered requirements specification. Therefore, it is cumbersome and unsatisfactorily for Web users, to express quality requirements on mash up components and select suitable ones for their self-made applications. In this paper, we present a novel approach of modelling quality requirements for composite Web mashups using colloquial terms, which augment a tailored property model. To this end, we introduce a quality requirements metamodel for Web mashups and show, how the mash up platform can meet the target group's skills and expectations by specifying quality requirements with fuzzy expressions. A user study underlines the benefit of employed modelling concepts and the implemented requirements composer, when performing common composition tasks.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123419471","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Glauber de Tarso Vieira Bezerra, V. Pinheiro, A. Albuquerque
Information Technology (IT) Governance need for tools and processes that assist the qualification, retention and reuse of solutions to leverage the management of incidents. In this sense, this work proposes a process for resolving incidents, whose differential is the use of CBR (Case Based Reasoning) and NLP (Natural Language Processing) techniques, aiming the reuse of experience in handling similar incidents. Specially, NLP techniques, such as morph syntactic analysis and semantic textual similarity, are used in the retrieval phase of the CBR system. We applied the proposed process in a real scenario after the deployment of an ERP system in a mixed capital company, in order to validate if the use of CBR and NLP components in an Incident Management Process optimizes the handling of incidents.
{"title":"Incident Management Optimization through the Reuse of Experiences and Natural Language Processing","authors":"Glauber de Tarso Vieira Bezerra, V. Pinheiro, A. Albuquerque","doi":"10.1109/quatic.2014.63","DOIUrl":"https://doi.org/10.1109/quatic.2014.63","url":null,"abstract":"Information Technology (IT) Governance need for tools and processes that assist the qualification, retention and reuse of solutions to leverage the management of incidents. In this sense, this work proposes a process for resolving incidents, whose differential is the use of CBR (Case Based Reasoning) and NLP (Natural Language Processing) techniques, aiming the reuse of experience in handling similar incidents. Specially, NLP techniques, such as morph syntactic analysis and semantic textual similarity, are used in the retrieval phase of the CBR system. We applied the proposed process in a real scenario after the deployment of an ERP system in a mixed capital company, in order to validate if the use of CBR and NLP components in an Incident Management Process optimizes the handling of incidents.","PeriodicalId":317037,"journal":{"name":"2014 9th International Conference on the Quality of Information and Communications Technology","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127512294","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}