Safety-critical domains are characterized by heavy regulatory demands to which companies must adhere to before they can place their devices on the market. This track focuses on the issues of software safety, interoperability, processes and process models, and agile methods in safety-critical domains such as automotive, health and medical devices, and nuclear.
{"title":"Foreword to the Thematic Track: Quality in Safety-Critical Systems","authors":"Marion Lepmets","doi":"10.1109/QUATIC.2016.048","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.048","url":null,"abstract":"Safety-critical domains are characterized by heavy regulatory demands to which companies must adhere to before they can place their devices on the market. This track focuses on the issues of software safety, interoperability, processes and process models, and agile methods in safety-critical domains such as automotive, health and medical devices, and nuclear.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124272802","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}
Quality is often considered something that must be in conformance with system requirements. However, such requirements keep changing to be aligned with the business needs, thus making quality a moving target! Requirements engineering helps to elicit the stakeholders requirements (such in a form of general goals, user stories, use cases, constraints etc.) with respect to the system of interested, to prioritize such requirements 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 even with the project team, with systems designers, developers, testers, etc. The former are not necessarily interested in the implementation technical details, while the latter are specialized in designing, building and testing such systems. Caught in-between, requirements engineers must also keep up with newer development approaches. The "Quality in ICT Requirements Engineering" Thematic Track 2016 has at its accepted papers a multitude of relevant topics such as: requirements elicitation and specification, requirements traceability, requirements prioritization, ontologies for embed systems, and requirements specification tools. This program includes five full papers and two work-in-progress papers.
{"title":"Thematic Track: Quality in ICT Requirements Engineering 2016","authors":"Maria Lencastre, A. Silva","doi":"10.1109/QUATIC.2016.018","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.018","url":null,"abstract":"Quality is often considered something that must be in conformance with system requirements. However, such requirements keep changing to be aligned with the business needs, thus making quality a moving target! Requirements engineering helps to elicit the stakeholders requirements (such in a form of general goals, user stories, use cases, constraints etc.) with respect to the system of interested, to prioritize such requirements 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 even with the project team, with systems designers, developers, testers, etc. The former are not necessarily interested in the implementation technical details, while the latter are specialized in designing, building and testing such systems. Caught in-between, requirements engineers must also keep up with newer development approaches. The \"Quality in ICT Requirements Engineering\" Thematic Track 2016 has at its accepted papers a multitude of relevant topics such as: requirements elicitation and specification, requirements traceability, requirements prioritization, ontologies for embed systems, and requirements specification tools. This program includes five full papers and two work-in-progress papers.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117178673","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}
In this position paper we examine how safety could be assured when increasingly complex systems are developed using agile software development methods. We first discuss the source and nature of complexity in software systems and how a probe – sense – learn approach recommended by the Cynefin Framework is appropriate for designing complex systems and a sense – analyse – learn approach is appropriate for developing a complicated system whose design has been determined. We then examine how quality assurance is incorporated into agile software development before pointing out that those characteristics of a self-managed team that produce so many benefits for software development of complex systems whose solution evolves with problem understanding, are also vulnerable to confirmation bias. This suggests that for safety critical system development, software systems developed by agile teams will need verification and validation by independent parties. We review current quality management practices for medical device software development before discussing how our earlier findings could be adopted into safety critical software quality management.
{"title":"Quality Assurance in Agile Safety-Critical Systems Development","authors":"T. McBride, Marion Lepmets","doi":"10.1109/QUATIC.2016.016","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.016","url":null,"abstract":"In this position paper we examine how safety could be assured when increasingly complex systems are developed using agile software development methods. We first discuss the source and nature of complexity in software systems and how a probe – sense – learn approach recommended by the Cynefin Framework is appropriate for designing complex systems and a sense – analyse – learn approach is appropriate for developing a complicated system whose design has been determined. We then examine how quality assurance is incorporated into agile software development before pointing out that those characteristics of a self-managed team that produce so many benefits for software development of complex systems whose solution evolves with problem understanding, are also vulnerable to confirmation bias. This suggests that for safety critical system development, software systems developed by agile teams will need verification and validation by independent parties. We review current quality management practices for medical device software development before discussing how our earlier findings could be adopted into safety critical software quality management.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117196721","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}
As a contribution to the specification and verification of critical software systems, this article presents a formal proposal for compositional verification, which uses model checking technique and integrates a modelling infrastructure that propitiates the target system decomposition into separate components aimed at being individually specified and verified. Our goal with this proposal is to provide an infrastructure for developing and verifying critical software systems by fostering extensibility and modifiability of the software. In this way, validated components can be integrated into large computer programs readily. The compositional verification approach guarantees the correctness of the entire system during its execution. Also, is discussed a practical application of our proposal to a realistic industry project related to mobile phone communication.
{"title":"Checking Critical Software Systems: A Formal Proposal","authors":"L. Mendoza, M. Capel","doi":"10.1109/QUATIC.2016.041","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.041","url":null,"abstract":"As a contribution to the specification and verification of critical software systems, this article presents a formal proposal for compositional verification, which uses model checking technique and integrates a modelling infrastructure that propitiates the target system decomposition into separate components aimed at being individually specified and verified. Our goal with this proposal is to provide an infrastructure for developing and verifying critical software systems by fostering extensibility and modifiability of the software. In this way, validated components can be integrated into large computer programs readily. The compositional verification approach guarantees the correctness of the entire system during its execution. Also, is discussed a practical application of our proposal to a realistic industry project related to mobile phone communication.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128960574","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}
In this paper, we show the successful integration of measurement of code quality into a software development process. Besides choosing a suitable tool for code analysis, metrics, and proper threshold values, concepts for removal of deficiencies are important requirements for code quality. Several cycles of a development process are necessary to achieve a long-term and effective integration of code quality into the development process. The integration of static analysis and refactoring of program code is achieved by Plan-Do-Check-Act cycle and didactic methods in a software development course at the university.
{"title":"How to Improve Code Quality by Measurement and Refactoring","authors":"Anna A. Vasileva, Doris Schmedding","doi":"10.1109/QUATIC.2016.034","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.034","url":null,"abstract":"In this paper, we show the successful integration of measurement of code quality into a software development process. Besides choosing a suitable tool for code analysis, metrics, and proper threshold values, concepts for removal of deficiencies are important requirements for code quality. Several cycles of a development process are necessary to achieve a long-term and effective integration of code quality into the development process. The integration of static analysis and refactoring of program code is achieved by Plan-Do-Check-Act cycle and didactic methods in a software development course at the university.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126866672","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}
Software evolution is a well-established research area, but not in the area of web systems/applications. Web projects are normally more complex than other software development projects because they have both server and client code, encompass a variety of programming languages, and are multidisciplinary. We aim to produce a catalog of web smells to help avoiding the problems in web development code before they happen, thus saving time and reducing cost. By means of longitudinal studies we plan to analyze the impact of these web smells in web systems maintainability and reliability. This will require developing a tool to detect the proposed web smells. For validation sake, we will also use surveys among web systems developers and peer reviewing in academic fora.
{"title":"Web Systems Quality Evolution","authors":"Américo Rio, Fernando Brito e Abreu","doi":"10.1109/QUATIC.2016.060","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.060","url":null,"abstract":"Software evolution is a well-established research area, but not in the area of web systems/applications. Web projects are normally more complex than other software development projects because they have both server and client code, encompass a variety of programming languages, and are multidisciplinary. We aim to produce a catalog of web smells to help avoiding the problems in web development code before they happen, thus saving time and reducing cost. By means of longitudinal studies we plan to analyze the impact of these web smells in web systems maintainability and reliability. This will require developing a tool to detect the proposed web smells. For validation sake, we will also use surveys among web systems developers and peer reviewing in academic fora.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128517907","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}
Background: Code smells are considered detrimental to maintainability. To plan QA preventive initiatives (e.g. refactoring actions) it is important to know if the application domain is likely to affect the incidence of those problems. Objective: The main goal of this paper is to check if the application domain has a statistically significant impact on the incidence of code smells. Methods: We conducted a quasi-experiment using 118 Java applications, classified into 6 application domains, and including 7 types of code smells. To test the formulated hypotheses, we used the Kruskal-Wallis and ANOVA tests. Results: Our results show that the incidence of most code smells does not depend on the application domain, with the exception of Duplicated Code smell, where it was found that its incidence in the domain Home & Education is superior to the others. Limitations: This study was based on medium sized open source applications written in Java. Therefore, its external validity will be questionable outside this scope. Conclusions: For 6 out of 7 code smell types, our results corroborate previous studies where no difference could be found on code smells incidence across applications. However, statistically significant differences were found for the Duplicated Code (aka Clone) smell. This result confirmed the claim produced by Martin Fowler almost 20 years ago that software clones may be induced by the application domain.
{"title":"Code Smells Incidence: Does It Depend on the Application Domain?","authors":"J. Reis, G. Carneiro","doi":"10.1109/QUATIC.2016.044","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.044","url":null,"abstract":"Background: Code smells are considered detrimental to maintainability. To plan QA preventive initiatives (e.g. refactoring actions) it is important to know if the application domain is likely to affect the incidence of those problems. Objective: The main goal of this paper is to check if the application domain has a statistically significant impact on the incidence of code smells. Methods: We conducted a quasi-experiment using 118 Java applications, classified into 6 application domains, and including 7 types of code smells. To test the formulated hypotheses, we used the Kruskal-Wallis and ANOVA tests. Results: Our results show that the incidence of most code smells does not depend on the application domain, with the exception of Duplicated Code smell, where it was found that its incidence in the domain Home & Education is superior to the others. Limitations: This study was based on medium sized open source applications written in Java. Therefore, its external validity will be questionable outside this scope. Conclusions: For 6 out of 7 code smell types, our results corroborate previous studies where no difference could be found on code smells incidence across applications. However, statistically significant differences were found for the Duplicated Code (aka Clone) smell. This result confirmed the claim produced by Martin Fowler almost 20 years ago that software clones may be induced by the application domain.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130898807","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}
Jorge Romulo Frota Dos Santos, A. Albuquerque, P. Pinheiro
The launch of commercial off-the-shelf (COTS) software on the market requires careful planning, which incorporates a requirements prioritization process. Although there are numerous prioritization techniques, few satisfy quality criteria such as scalability, efficiency and ease of use. This research presents a survey of COTS software requirements prioritization to be potentially used by thousands of users. The HCV (Hierarchical Cumulative Voting) requirements prioritization technique was addressed and applied through a web questionnaire directly to potential users. At the end, 80 respondents sent the questionnaire and a score of requirements in ratio scale of measurement was obtained. It was found that the technique applied can respond positively to the needs and characteristics of Market-Driven Software Development, in similar situations to those described.
{"title":"Requirements Prioritization in Market-Driven Software: A Survey Based on Large Numbers of Stakeholders and Requirements","authors":"Jorge Romulo Frota Dos Santos, A. Albuquerque, P. Pinheiro","doi":"10.1109/QUATIC.2016.020","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.020","url":null,"abstract":"The launch of commercial off-the-shelf (COTS) software on the market requires careful planning, which incorporates a requirements prioritization process. Although there are numerous prioritization techniques, few satisfy quality criteria such as scalability, efficiency and ease of use. This research presents a survey of COTS software requirements prioritization to be potentially used by thousands of users. The HCV (Hierarchical Cumulative Voting) requirements prioritization technique was addressed and applied through a web questionnaire directly to potential users. At the end, 80 respondents sent the questionnaire and a score of requirements in ratio scale of measurement was obtained. It was found that the technique applied can respond positively to the needs and characteristics of Market-Driven Software Development, in similar situations to those described.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132473176","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}
Effective team communication is a prerequisite for software quality and project success. It implies correctly elicited customer requirements, conduction of occurring change requests and to adhere releases. Team communication is a complex construct that consists of numerous characteristics, individual styles, influencing factors and dynamic intensities during a project. These elements are complicated to be measured or scheduled, especially in newly formed teams. According to software developers with few experiences in teams, it would be highly desirable to recognize dysfunctional or underestimated communication behaviors already in early project phases. Otherwise, negative affects may cause delay of releases or even endanger software quality. We introduce an approach on the feasibility of forecasting team's communication behavior in student software projects. We build a very first forecasting model that involves software engineering and industrial psychological terms to extract multi week communication forecasts with accurate results. The model consists of a k-nearest neighbor machine learning algorithm and is trained and evaluated with 34 student software projects from a previously taken field study. This study is an encouraging first step towards forecasting team communication to reveal potential miscommunications during a project. It is our aim to give young software developing teams an experience-based assistance about their information flow and enable adjustment for dysfunctional communication, to avoid fire fighting situation or even risks of alternating software qualities.
{"title":"Early Diagnostics on Team Communication: Experience-Based Forecasts on Student Software Projects","authors":"Fabian Kortum, J. Klünder","doi":"10.1109/QUATIC.2016.043","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.043","url":null,"abstract":"Effective team communication is a prerequisite for software quality and project success. It implies correctly elicited customer requirements, conduction of occurring change requests and to adhere releases. Team communication is a complex construct that consists of numerous characteristics, individual styles, influencing factors and dynamic intensities during a project. These elements are complicated to be measured or scheduled, especially in newly formed teams. According to software developers with few experiences in teams, it would be highly desirable to recognize dysfunctional or underestimated communication behaviors already in early project phases. Otherwise, negative affects may cause delay of releases or even endanger software quality. We introduce an approach on the feasibility of forecasting team's communication behavior in student software projects. We build a very first forecasting model that involves software engineering and industrial psychological terms to extract multi week communication forecasts with accurate results. The model consists of a k-nearest neighbor machine learning algorithm and is trained and evaluated with 34 student software projects from a previously taken field study. This study is an encouraging first step towards forecasting team communication to reveal potential miscommunications during a project. It is our aim to give young software developing teams an experience-based assistance about their information flow and enable adjustment for dysfunctional communication, to avoid fire fighting situation or even risks of alternating software qualities.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131798924","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}
Luiz Otavio Danin de Lima, S. Oliveira, Bleno Wilson Franklin Vale da Silva, G. Silva, Iuri Igonez Silva Raiol
In order to have a competitive software industry, it is essential to adopt standards and reference models of software processes quality. However, despite the growing adoption of standards and models, the number of organizations that adopt these is a small portion of the total population of software organizations. This paper presents a tool to support the implementation of decision analysis and resolution process in adherence to CMMI-DEV model. This tool aims to assist software organizations in the implementation of the CMMI-DEV model. We expect that this tool be more easily adopted by software organizations because it is based on models and standards largely accepted. Furthermore, this tool adopts free technologies (non-proprietary) in order to reduce costs.
{"title":"Spider-DAR: A Tool to Support the Implementation of Decision Analysis and Resolution Process Based into CMMI-DEV and MR-MPS-SW Models","authors":"Luiz Otavio Danin de Lima, S. Oliveira, Bleno Wilson Franklin Vale da Silva, G. Silva, Iuri Igonez Silva Raiol","doi":"10.1109/QUATIC.2016.035","DOIUrl":"https://doi.org/10.1109/QUATIC.2016.035","url":null,"abstract":"In order to have a competitive software industry, it is essential to adopt standards and reference models of software processes quality. However, despite the growing adoption of standards and models, the number of organizations that adopt these is a small portion of the total population of software organizations. This paper presents a tool to support the implementation of decision analysis and resolution process in adherence to CMMI-DEV model. This tool aims to assist software organizations in the implementation of the CMMI-DEV model. We expect that this tool be more easily adopted by software organizations because it is based on models and standards largely accepted. Furthermore, this tool adopts free technologies (non-proprietary) in order to reduce costs.","PeriodicalId":157671,"journal":{"name":"2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130786572","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}