A. Fontão, B. Cafeo, B. Bonifácio, R. Santos, A. C. Dias-Neto
{"title":"On Developer Relations Team's Reasons for Using Repositories","authors":"A. Fontão, B. Cafeo, B. Bonifácio, R. Santos, A. C. Dias-Neto","doi":"10.1145/3387940.3392170","DOIUrl":"https://doi.org/10.1145/3387940.3392170","url":null,"abstract":"Organizations such as Amazon, Apple and Google have been investing in Developer Relations (DevRel) team to engage a critical mass of third-party developers in producing and evolving contributions to a common technological platform. It fosters the establishment of a Software Ecosystem (SECO). However, it is still unknown how the DevRel team should act on monitoring a SECO aiming to establish a robust ecosystem. One tangible possibility is to mine repositories to enhance DevRel strategies. In this paper, we report on an investigation of the reasons that lead 31 DevRel practitioners to use software repositories during their activities. The results point out a common perspective for DevRel practitioners and researchers in developing strategies and research roadmaps.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124391848","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}
{"title":"Beyond Technical Skills in Software Testing: Automated versus Manual Testing","authors":"Mary-Luz Sánchez-Gordón, Laxmi Rijal, Ricardo Colomo Palacios","doi":"10.1145/3387940.3392238","DOIUrl":"https://doi.org/10.1145/3387940.3392238","url":null,"abstract":"Software testing is not a purely technical, but rather socio-technical activity. Although there are a few studies on this topic, to the best of our knowledge there is a lack of research focusing specifically on skills, in particular soft skills needed for automated and manual testing. In both cases, software testing is a challenging task that requires considerable effort by practitioners. The aim of this study is to identify what are the most valued skills with regards to these different types of testing. To do so, a survey was applied among software practitioners and 72 responses were received. The questionnaire covers 35 skills grouped in technical (hard) and non-technical (soft) skills. The results of this exploratory study provide empirical evidence that reveals the importance that software practitioners give to hard and soft skills alike.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122486530","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}
Yu Huang, K. Angstadt, Kevin Leach, Westley Weimer
{"title":"Selective Symbolic Type-Guided Checkpointing and Restoration for Autonomous Vehicle Repair","authors":"Yu Huang, K. Angstadt, Kevin Leach, Westley Weimer","doi":"10.1145/3387940.3392201","DOIUrl":"https://doi.org/10.1145/3387940.3392201","url":null,"abstract":"Fault tolerant design can help autonomous vehicle systems address defects, environmental changes and security attacks. Checkpoint and restoration fault tolerance techniques save a copy of an application's state before a problem occurs and restore that state afterwards. However, traditional Checkpoint/Restore techniques still admit high overhead, may carry along tainted data, and rarely operate in tandem with human-written or automated repairs that modify source code or alter data layout. Thus, it can be difficult to apply traditional Checkpoint/Restore techniques to solve the issues of non-environmental defects, security attacks or software bugs. To address such challenges, in this paper, we propose and evaluate a selective checkpoint and restore (SCR) technique that records only critical system state based on types and minimal symbolic annotations to deploy repaired programs. We found that using source-level symbolic information allows an application to be resumed even after its code is modified in our evaluation. We evaluate our approach using a commodity autonomous vehicle system and demonstrate that it admits manual and automated software repairs, does not carry tainted data, and has low overhead.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130604955","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 Fernando Capretz, S. Basri, Maythem Adili, Aamir Amin
{"title":"What Malaysian Software Students Think about Testing?","authors":"Luiz Fernando Capretz, S. Basri, Maythem Adili, Aamir Amin","doi":"10.1145/3387940.3392167","DOIUrl":"https://doi.org/10.1145/3387940.3392167","url":null,"abstract":"Software testing is one of the crucial supporting processes of software life cycle. Unfortunately for the software industry, the role is stigmatized, partly due to misperception and partly due to treatment of the role in the software industry. The present study aims to analyse this situation to explore what inhibit an individual from taking up a software testing career. In order to investigate this issue, we surveyed 82 senior students taking a degree in information technology, information and communication technology, and computer science at two Malaysian universities. The subjects were asked the PROs and CONs of taking up a career in software testing and what were the chances that they would do so. The study identified 7 main PROs and 9 main CONSs for starting a testing career, and indicated that the role of software tester has been perceived as a social role, with more soft skills connotations than technical implications. The results also show that Malaysian students have a more positive attitude towards software testing than their counterparts where similar investigations have been carried out.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116492026","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}
Kapil Singi, S. Choudhury, Vikrant S. Kaulgud, R. Bose, Sanjay Podder, Adam P. Burden
{"title":"Data Sovereignty Governance Framework","authors":"Kapil Singi, S. Choudhury, Vikrant S. Kaulgud, R. Bose, Sanjay Podder, Adam P. Burden","doi":"10.1145/3387940.3392212","DOIUrl":"https://doi.org/10.1145/3387940.3392212","url":null,"abstract":"Data has emerged as a central commodity in most modern applications. Unregulated and rampant collection of user and usage data by applications led to concerns on privacy, trust, and ethics. This has resulted in several governments and organizations across geographies to frame laws on data (e.g., the European Union's General Data Protection Regulation (GDPR)) that govern and define boundaries for the storage, processing and transitioning of data; and thereby safeguard the interests of its citizens. Data Sovereignty and Data Localization are two important aspects, which deal with the adherence to the laws and governance structures, that define where and how data is collected and processed. The applicability of different laws depends upon several attributes such as the nature, type, and purpose of data. Non-compliance to laws/regulations can lead to serious repercussions for enterprises, ranging from hefty penalties to loss of brand value. Ensuring that all of their applications are complaint to various laws and regulations is non-trivial. Enterprises have to deal with a plethora of laws (that are constantly evolving) and are often confused even in correctly identifying all the applicable laws for their context leave alone ensuring compliance to regulations. Therefore, in this paper, we propose a knowledge graph based data sovereignty governance framework that assists in classifying data and in identifying the relevant applicable laws.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131656163","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}
{"title":"An overview of blockchain-based systems and smart contracts for digital coupons","authors":"Alessandro Sebastian Podda, Livio Pompianu","doi":"10.1145/3387940.3391500","DOIUrl":"https://doi.org/10.1145/3387940.3391500","url":null,"abstract":"Among the accessory applications of the blockchain, the idea of using it as an immutable register for tracking and certifying documents is recently gaining interest in research and industry. The problems of traceability, non-counterfeiting and unique usage of digital coupons fall within this area; many couponing platforms are hence exploring the possibility of addressing the above limitations with blockchain technologies. In view of the foregoing, in this work we analyse and compare several blockchain-based couponing systems. To do so, we first propose a general schema of digital coupon and define the desirable properties of a couponing system. Then, we select a sample of these systems and we examine them, describing their design choices and summarizing their relevant properties. Finally, we inspect their code and study how the notion of couponing system is interpreted in their smart contracts. We also highlight their distinctive features and relevant implementation solutions. We conclude by discussing what emerged from our analysis and proposing some possible future investigations.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132463160","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}
{"title":"Software Development at the German Aerospace Center: Role and Status in Practice","authors":"L. Kurnatowski, T. Schlauch, Carina Haupt","doi":"10.1145/3387940.3392244","DOIUrl":"https://doi.org/10.1145/3387940.3392244","url":null,"abstract":"Software is an important innovation factor and an integral part of modern research. However, researchers are often faced with challenges in developing software because they do not have the necessary education and skills. The German Aerospace Center (DLR) established its software engineering initiative in 2005 to enable researchers to better meet these challenges. Continuous adaption and improvement of the supportive measures of the initiative require a good understanding of the current role and practice of software development at DLR. Therefore, we conducted a DLR-wide survey on research software development at DLR at the end of 2018. In this paper, we present the results of this survey and identify possible improvements of the software engineering initiative activities. 773 DLR employees completed our survey and provided information about their academic background, programming experience, and software development practices. The results show that software development is a very relevant topic among the researchers at DLR but also a lack of applying software development best practices. Based on these results we conclude to further enhance the practical focus of our support activities as well as to raise the awareness for these practices to bring them into the daily work of DLR researchers.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131068938","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}
M. G. D. Santos, B. Napoleão, Fábio Petrillo, Darine Ameyed, Fehmi Jaafar
{"title":"A Preliminary Systematic Mapping on Software Engineering for Robotic Systems: A Software Quality Perspective","authors":"M. G. D. Santos, B. Napoleão, Fábio Petrillo, Darine Ameyed, Fehmi Jaafar","doi":"10.1145/3387940.3392197","DOIUrl":"https://doi.org/10.1145/3387940.3392197","url":null,"abstract":"Robotic systems have been increasingly employed in everyday tasks. Considering that software plays a crucial point in robot systems, to investigate how software engineering concepts in a software quality perspective can improve robotic systems. In this work, we present a systematic mapping to identify and classify the state-of-art of software engineering for robotic systems in a quality software perspective. We selected and systematically analyzed a final set of 35 primary studies extracted from an automated search on Scopus digital library. This work presents three main contributions. Firstly, we organize a catalogue of research studies about software engineering, more specifically software quality applied in robotic systems. Next, we systematically analyze software quality areas used in robotic systems. Finally, we discuss insights into research opportunities and gaps in software engineering to robotic systems for future studies. As a result, we observed that there are studies in the robotic systems area, addressing in a combined way, software engineering approaches and software quality aspects. The less investigated software quality aspect is security. Due to this fact, we presented an overview of the state-of-art on blockchain applying in robotics systems. Blockchain brings opportunities for changing the ways that robots interact with humans. Finally, we identify research opportunities and gaps in software quality on robotic systems, presenting an overview for future studies.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114161389","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}
{"title":"Towards A Dependency-Driven Taxonomy of Software Types","authors":"A. Capiluppi, N. Ajienka","doi":"10.1145/3387940.3392206","DOIUrl":"https://doi.org/10.1145/3387940.3392206","url":null,"abstract":"Context: The evidence on software health and ecosystems could be improved if there was a systematic way to identify the types of software for which empirical evidence applies. Results and guidelines on software health are unlikely to be globally applicable: the context and the domain where the evidence has been tested are more likely to influence the results on software maintenance and health. Objective: The objectives of this paper are (i) to discuss the implications of adopting a specific taxonomy of software types, and (ii) to define, where possible, dependencies or similarities between parts of the taxonomy. Method: We discuss bottom-up and top-down taxonomies, and we show how different taxonomies fare against each other. We also propose two case studies, based on software projects divided in categories and sub-categories. Results: We show that one taxonomy does not consistently represent another taxonomy's categories. We also show that it is possible to establish directional dependencies (e.g., 'larger than') between attributes of different categories, and sub-categories. Conclusion: This paper establishes the need of directional-driven dependencies between categories of software types, that have an immediate effect on their maintenance and their relative software health.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116315631","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}
{"title":"Predictable, Flexible or Correct: Trading off Refactoring Design Choices","authors":"A. M. Eilertsen","doi":"10.1145/3387940.3392185","DOIUrl":"https://doi.org/10.1145/3387940.3392185","url":null,"abstract":"Refactoring tools automate tedious and error-prone source code changes. Such tools can improve the speed and accuracy of software development, yet developers frequently eschew automation in favor of manual refactoring. Developers report distrust and lack of predictability as reasons for not using automated tools, but there are no comprehensive explanations of trust and predictability nor guidelines for how to improve these aspects of tools. In this position paper we explore choices and tradeoffs in refactoring tool design.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128660003","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}