In this paper, we outline the challenges we have encountered in mission critical system development projects based on public tendering processes and list reasons why the challenges we have faced are difficult to tackle. Furthermore, based on our experienc-es in the mission critical system provision domain, we see that the software-as-a-service (SaaS) model saves us from many of the shortcomings of the common RFQ process and helps us, at least partly, to tackle the encountered challenges.
{"title":"How to a Survive Mission Critical Systems Project Based on Public Tenders: Lessons Learned the Hard Way","authors":"Aapo Koski, T. Mikkonen","doi":"10.1109/SEAA.2017.22","DOIUrl":"https://doi.org/10.1109/SEAA.2017.22","url":null,"abstract":"In this paper, we outline the challenges we have encountered in mission critical system development projects based on public tendering processes and list reasons why the challenges we have faced are difficult to tackle. Furthermore, based on our experienc-es in the mission critical system provision domain, we see that the software-as-a-service (SaaS) model saves us from many of the shortcomings of the common RFQ process and helps us, at least partly, to tackle the encountered challenges.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121118368","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 engineers are using a variety of social platforms, where they participate in open source software projects and respond to other developers that ask for help on specific issues. This presence of developers in different platforms is a mirror of their hands-on experience and expertise in different technologies and programming languages and a useful source of information for their own use but also for potential employers. In this work, we present our approach, Expertise Analyzer, that gathers diverse user-relevant activities in one location. Our approach introduces a number of metrics that summarize the experience and expertise of software engineers and can prove useful for giving a merged view of all developer interactions.
{"title":"Dear Developers, your Expertise in One Place","authors":"G. Kapitsaki, Panagiotis Foutros","doi":"10.1109/SEAA.2017.35","DOIUrl":"https://doi.org/10.1109/SEAA.2017.35","url":null,"abstract":"Software engineers are using a variety of social platforms, where they participate in open source software projects and respond to other developers that ask for help on specific issues. This presence of developers in different platforms is a mirror of their hands-on experience and expertise in different technologies and programming languages and a useful source of information for their own use but also for potential employers. In this work, we present our approach, Expertise Analyzer, that gathers diverse user-relevant activities in one location. Our approach introduces a number of metrics that summarize the experience and expertise of software engineers and can prove useful for giving a merged view of all developer interactions.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"123 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116720154","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}
To cope with growing complexity of embedded software, modeling has become popular. The usage of models in embedded software industry and the relevant practices usually vary since the purposes of diagram development and usage differ. Since a large variety of software modeling practices used in embedded software industry, it is important to understand its state-of-the-practice and its usage degree while investigating the relations between its attributes (e.g., modeling rigor, purpose, code correspondence, stakeholder, medium used while modeling, etc). To achieve this, we have designed and conducted a survey in our earlier work. In this paper, we present a conceptual model of development and usage for software modeling that is based on the findings of this survey and incorporates expert opinions. The conceptual model, which characterizes the attributes of a diagram development and usage, will help to express the meaning of terms used by domain experts to discuss the problems and find the relationships between these attributes.
{"title":"Characterizing the Development and Usage of Diagrams in Embedded Software Systems","authors":"Deniz Akdur, Onur Demirörs, V. Garousi","doi":"10.1109/SEAA.2017.13","DOIUrl":"https://doi.org/10.1109/SEAA.2017.13","url":null,"abstract":"To cope with growing complexity of embedded software, modeling has become popular. The usage of models in embedded software industry and the relevant practices usually vary since the purposes of diagram development and usage differ. Since a large variety of software modeling practices used in embedded software industry, it is important to understand its state-of-the-practice and its usage degree while investigating the relations between its attributes (e.g., modeling rigor, purpose, code correspondence, stakeholder, medium used while modeling, etc). To achieve this, we have designed and conducted a survey in our earlier work. In this paper, we present a conceptual model of development and usage for software modeling that is based on the findings of this survey and incorporates expert opinions. The conceptual model, which characterizes the attributes of a diagram development and usage, will help to express the meaning of terms used by domain experts to discuss the problems and find the relationships between these attributes.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"323 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131998920","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}
Sho Suzuki, Hirohisa Aman, S. Amasaki, Tomoyuki Yokogawa, Minoru Kawahara
Many empirical studies have reported notable theories or methods for evaluating or predicting code quality through analyses of code repositories. This paper has yet another point of view: it focuses on "commits" rather than source code. That is to say, this paper proposes to evaluate commits themselves. When an aim of a commit is to fix a bug, there can be another preceding commit which made a reason of the bug fixing. Those commits are linked by a bug fixing-based causal relationship. Then, commits can be modeled as a directed graph model of causal relationships. This paper applies Google's PageRank algorithm to the graph modelin order to evaluate commits' influences on the others. Through an empirical study with Git repositories of six open source projects, the following factors are showed to be noteworthy:(1) the number of added files at the commit,(2) the length of commit message,(3) the experience of committing author, and (4) the number of developers who have been involved in the modified files at the commit.
{"title":"An Application of the PageRank Algorithm to Commit Evaluation on Git Repository","authors":"Sho Suzuki, Hirohisa Aman, S. Amasaki, Tomoyuki Yokogawa, Minoru Kawahara","doi":"10.1109/SEAA.2017.24","DOIUrl":"https://doi.org/10.1109/SEAA.2017.24","url":null,"abstract":"Many empirical studies have reported notable theories or methods for evaluating or predicting code quality through analyses of code repositories. This paper has yet another point of view: it focuses on \"commits\" rather than source code. That is to say, this paper proposes to evaluate commits themselves. When an aim of a commit is to fix a bug, there can be another preceding commit which made a reason of the bug fixing. Those commits are linked by a bug fixing-based causal relationship. Then, commits can be modeled as a directed graph model of causal relationships. This paper applies Google's PageRank algorithm to the graph modelin order to evaluate commits' influences on the others. Through an empirical study with Git repositories of six open source projects, the following factors are showed to be noteworthy:(1) the number of added files at the commit,(2) the length of commit message,(3) the experience of committing author, and (4) the number of developers who have been involved in the modified files at the commit.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117259417","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 business process management, numerous established methods, good practices and techniques for the modeling and execution of workflows are known. Many of them are domain-independent, which means their application is also very promising for software development processes. However, the various approaches of software engineering are fundamentally different, so that not all techniques can be applied. This position paper initially collects 26 basic process characteristics (e.g., structurability, collaboration type). A generic classification schema is created, which gives recommendations for appropriate built-time technologies for existing processes. In order to make use of BPM's body of knowledge for software engineering, it was examined which techniques could be used for the two classic forms of the software development process (for example case management for agile processes versus variants of BPMN for traditional development processes).
{"title":"Should Process Management Add Its Two Cents?: A Classification Approach for the Selection of Process Management Build-Time Techniques for Software Development Purposes","authors":"Matthias Lederer, Remzi Avci, W. Schmidt","doi":"10.1109/SEAA.2017.40","DOIUrl":"https://doi.org/10.1109/SEAA.2017.40","url":null,"abstract":"In business process management, numerous established methods, good practices and techniques for the modeling and execution of workflows are known. Many of them are domain-independent, which means their application is also very promising for software development processes. However, the various approaches of software engineering are fundamentally different, so that not all techniques can be applied. This position paper initially collects 26 basic process characteristics (e.g., structurability, collaboration type). A generic classification schema is created, which gives recommendations for appropriate built-time technologies for existing processes. In order to make use of BPM's body of knowledge for software engineering, it was examined which techniques could be used for the two classic forms of the software development process (for example case management for agile processes versus variants of BPMN for traditional development processes).","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"320 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123690064","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}
K. Felizardo, É. Souza, R. Falbo, N. Vijaykumar, E. Mendes, E. Nakagawa
Context: Despite being defined during the first phase of the Systematic Literature Review (SLR) process, the protocol is usually refined when other phases are performed. Several researchers have reported their experiences in applying SLRs in Software Engineering (SE) however, there is still a lack of studies discussing the iterative nature of the protocol definition, especially how it should be perceived by researchers conducting SLRs. Objective: The main goal of this study is to perform a survey aiming to identify: (i) the perception of SE researchers related to protocol definition; (ii) the activities of the review process that typically lead to protocol refinements; and (iii) which protocol items are refined in those activities. Method: A survey was performed with 53 SE researchers. Results: Our results show that: (i) protocol definition and pilot test are the two activities that most lead to further protocol refinements; (ii) data extraction form is the most modified item. Besides that, this study confirmed the iterative nature of the protocol definition. Conclusions: An iterative pilot testcan facilitate refinements in the protocol.
{"title":"Defining Protocols of Systematic Literature Reviews in Software Engineering: A Survey","authors":"K. Felizardo, É. Souza, R. Falbo, N. Vijaykumar, E. Mendes, E. Nakagawa","doi":"10.1109/SEAA.2017.17","DOIUrl":"https://doi.org/10.1109/SEAA.2017.17","url":null,"abstract":"Context: Despite being defined during the first phase of the Systematic Literature Review (SLR) process, the protocol is usually refined when other phases are performed. Several researchers have reported their experiences in applying SLRs in Software Engineering (SE) however, there is still a lack of studies discussing the iterative nature of the protocol definition, especially how it should be perceived by researchers conducting SLRs. Objective: The main goal of this study is to perform a survey aiming to identify: (i) the perception of SE researchers related to protocol definition; (ii) the activities of the review process that typically lead to protocol refinements; and (iii) which protocol items are refined in those activities. Method: A survey was performed with 53 SE researchers. Results: Our results show that: (i) protocol definition and pilot test are the two activities that most lead to further protocol refinements; (ii) data extraction form is the most modified item. Besides that, this study confirmed the iterative nature of the protocol definition. Conclusions: An iterative pilot testcan facilitate refinements in the protocol.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123858153","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}
Modern driver assistance systems are often using a wide range of equipped sensors as primary data source. The reliability of each sensor is specified by the manufacturer and influences the system reliability distinctly. To prevent potential fatal system failures, diverse failure prevention mechanisms are included. Nevertheless, a certain level of reliability of the system has to be guaranteed to meet legal regulations. For this, extensive testing is required, which is costly due to the involved resources. To estimate and simulate the required test effort, an exact analytical method based on Markov Chains and an implementation realized in a common simulation framework is presented in this paper. It enables real automotive projects to estimate the test costs and simulate changes for various sensor setups.
{"title":"Analytical Test Effort Estimation for Multisensor Driver Assistance Systems","authors":"Florian Bock, S. Siegl, R. German","doi":"10.1109/SEAA.2017.49","DOIUrl":"https://doi.org/10.1109/SEAA.2017.49","url":null,"abstract":"Modern driver assistance systems are often using a wide range of equipped sensors as primary data source. The reliability of each sensor is specified by the manufacturer and influences the system reliability distinctly. To prevent potential fatal system failures, diverse failure prevention mechanisms are included. Nevertheless, a certain level of reliability of the system has to be guaranteed to meet legal regulations. For this, extensive testing is required, which is costly due to the involved resources. To estimate and simulate the required test effort, an exact analytical method based on Markov Chains and an implementation realized in a common simulation framework is presented in this paper. It enables real automotive projects to estimate the test costs and simulate changes for various sensor setups.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129800554","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}
Rahul Mohanani, Prabhat Ram, A. Lasisi, P. Ralph, Burak Turhan
Software engineering, especially design and requirements engineering, is intensely creative. However, practitioners and researchers appear to perceive creativity differently, hindering knowledge transfer. To explore and understand these perceptual differences, this paper combines a systematic mapping study of SE research literature with an interview study of practitioners. The subsequent analysis of 84 primary studies and 17 semi-structured interviews reveal some agreement (e.g. creativity is a process that produces novel and useful ideas). However, it also reveals important differences in the way creativity is conceptualized, measured and improved. These differences undermine evidence-based techniques to enhance and measure creativity in SE research and practice.
{"title":"Perceptions of Creativity in Software Engineering Research and Practice","authors":"Rahul Mohanani, Prabhat Ram, A. Lasisi, P. Ralph, Burak Turhan","doi":"10.1109/SEAA.2017.21","DOIUrl":"https://doi.org/10.1109/SEAA.2017.21","url":null,"abstract":"Software engineering, especially design and requirements engineering, is intensely creative. However, practitioners and researchers appear to perceive creativity differently, hindering knowledge transfer. To explore and understand these perceptual differences, this paper combines a systematic mapping study of SE research literature with an interview study of practitioners. The subsequent analysis of 84 primary studies and 17 semi-structured interviews reveal some agreement (e.g. creativity is a process that produces novel and useful ideas). However, it also reveals important differences in the way creativity is conceptualized, measured and improved. These differences undermine evidence-based techniques to enhance and measure creativity in SE research and practice.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128277236","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}
Sustainability in software engineering is a relatively new and fast growing field of research. Green software engineering aims to produce sustainable software products with minimum negative impact on the environment. In order to make greener software products, software practitioners need actionable timely information, to make useful trade-offs between energy efficiency and other quality attributes, like performance, during development. Software analytics could be used to provide this support, as it combines information from different software artifacts and converts it into useful information. The objective of this paper is to provide an overview of the sub-domains, contribution types, research types, research methods, future research potentials and the role of software analytics in the field of green software engineering in 2015-16. We applied the systematic mapping method and conducted a search for studies in six online databases. Screening of papers was done according to inclusion/exclusion criteria and 50 selected studies were classified after analysis and data extraction. We found that there are many validation studies but hardly any evaluation and experience papers in the domain of green software engineering. Only 11 out of 50 papers in the green software engineering domain used software analytics techniques to foster green software engineering. Our results indicate the need to develop new/improved automated software analytics tools for software practitioners along with metrics explaining the correlation between energy usage and other quality attributes.
{"title":"Towards Greener Software Engineering Using Software Analytics: A Systematic Mapping","authors":"Hina Anwar, Dietmar Pfahl","doi":"10.1109/SEAA.2017.56","DOIUrl":"https://doi.org/10.1109/SEAA.2017.56","url":null,"abstract":"Sustainability in software engineering is a relatively new and fast growing field of research. Green software engineering aims to produce sustainable software products with minimum negative impact on the environment. In order to make greener software products, software practitioners need actionable timely information, to make useful trade-offs between energy efficiency and other quality attributes, like performance, during development. Software analytics could be used to provide this support, as it combines information from different software artifacts and converts it into useful information. The objective of this paper is to provide an overview of the sub-domains, contribution types, research types, research methods, future research potentials and the role of software analytics in the field of green software engineering in 2015-16. We applied the systematic mapping method and conducted a search for studies in six online databases. Screening of papers was done according to inclusion/exclusion criteria and 50 selected studies were classified after analysis and data extraction. We found that there are many validation studies but hardly any evaluation and experience papers in the domain of green software engineering. Only 11 out of 50 papers in the green software engineering domain used software analytics techniques to foster green software engineering. Our results indicate the need to develop new/improved automated software analytics tools for software practitioners along with metrics explaining the correlation between energy usage and other quality attributes.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130389382","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 development of cyber-physical systems (CPSs) is a multi-disciplinary process. A model-based approach during the design of a system is important for making design decisions during the exploration of alternatives. However, all disciplines use different modelling tools and techniques, which makes the integration of these models difficult and time-consuming. The use of the High Level Architecture (HLA) simplifies this problem, but still requires quite an effort to implement. Our work focuses on minimising the effort required to construct co-simulations. We have created a Domain Specific Language (DSL) to define a system design consisting of different types of models. We demonstrate how this DSL can be used to experiment with alternative designs of the system quickly. The DSL allows us to build virtual prototypes of CPSs without the large overhead of constructing the co-simulation.
{"title":"Rapid Construction of Co-Simulations of Cyber-Physical Systems in HLA Using a DSL","authors":"T. Nägele, J. Hooman","doi":"10.1109/SEAA.2017.29","DOIUrl":"https://doi.org/10.1109/SEAA.2017.29","url":null,"abstract":"The development of cyber-physical systems (CPSs) is a multi-disciplinary process. A model-based approach during the design of a system is important for making design decisions during the exploration of alternatives. However, all disciplines use different modelling tools and techniques, which makes the integration of these models difficult and time-consuming. The use of the High Level Architecture (HLA) simplifies this problem, but still requires quite an effort to implement. Our work focuses on minimising the effort required to construct co-simulations. We have created a Domain Specific Language (DSL) to define a system design consisting of different types of models. We demonstrate how this DSL can be used to experiment with alternative designs of the system quickly. The DSL allows us to build virtual prototypes of CPSs without the large overhead of constructing the co-simulation.","PeriodicalId":151513,"journal":{"name":"2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116686683","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}