-
Distribution-Aware Testing of Neural Networks Using Generative Models arXiv.cs.SE Pub Date : 2021-02-26 Swaroopa Dola; Matthew B. Dwyer; Mary Lou Soffa
The reliability of software that has a Deep Neural Network (DNN) as a component is urgently important today given the increasing number of critical applications being deployed with DNNs. The need for reliability raises a need for rigorous testing of the safety and trustworthiness of these systems. In the last few years, there have been a number of research efforts focused on testing DNNs. However the
-
EvoSpex: An Evolutionary Algorithm for Learning Postconditions arXiv.cs.SE Pub Date : 2021-02-26 Facundo Molina; Pablo Ponzio; Nazareno Aguirre; Marcelo Frias
Software reliability is a primary concern in the construction of software, and thus a fundamental component in the definition of software quality. Analyzing software reliability requires a specification of the intended behavior of the software under analysis, and at the source code level, such specifications typically take the form of assertions. Unfortunately, software many times lacks such specifications
-
On the Naming of Methods: A Survey of Professional Developers arXiv.cs.SE Pub Date : 2021-02-26 Reem S. AlSuhaibani; Christian D. Newman; Michael J. Decker; Michael L. Collard; Jonathan I. Maletic
This paper describes the results of a large (+1100 responses) survey of professional software developers concerning standards for naming source code methods. The various standards for source code method names are derived from and supported in the software engineering literature. The goal of the survey is to determine if there is a general consensus among developers that the standards are accepted and
-
Ethical Issues in Empirical Studies using Student Subjects: Re-visiting Practices and Perceptions arXiv.cs.SE Pub Date : 2021-02-26 Grischa Liebel; Shalini Chakraborty
Context: Using student subjects in empirical studies has been discussed extensively from a methodological perspective in Software Engineering (SE), but there is a lack of similar discussion surrounding ethical aspects of doing so. As students are in a subordinate relationship to their instructors, such a discussion is needed. Objective: We aim to increase the understanding of practices and perceptions
-
Case Level Counterfactual Reasoning in Process Mining arXiv.cs.SE Pub Date : 2021-02-25 Mahnaz Sadat Qafari; Wil van der Aalst
Process mining is widely used to diagnose processes and uncover performance and compliance problems. It is also possible to see relations between different behavioral aspects, e.g., cases that deviate more at the beginning of the process tend to get delayed in the last part of the process. However, correlations do not necessarily reveal causalities. Moreover, standard process mining diagnostics do
-
A Lightweight Approach of Human-Like Playtesting arXiv.cs.SE Pub Date : 2021-02-25 Yan Zhao; Weihao Zhang; Enyi Tang; Haipeng Cai; Xi Guo; Na Meng
A playtest is the process in which human testers are recruited to play video games and to reveal software bugs. Manual testing is expensive and time-consuming, especially when there are many mobile games to test and every software version requires for extensive testing before being released. Existing testing frameworks (e.g., Android Monkey) are limited because they adopt no domain knowledge to play
-
Safe CPS from Unsafe Controllers arXiv.cs.SE Pub Date : 2021-02-24 Usama Mehmood; Stanley Bak; Scott A. Smolka; Scott D. Stoller
In this paper, we explore using runtime verification to design safe cyber-physical systems (CPS). We build upon the Simplex Architecture, where control authority may switch from an unverified and potentially unsafe advanced controller to a backup baseline controller in order to maintain system safety. New to our approach, we remove the requirement that the baseline controller is statically verified
-
NSan: A Floating-Point Numerical Sanitizer arXiv.cs.SE Pub Date : 2021-02-25 Clement Courbet
Sanitizers are a relatively recent trend in software engineering. They aim at automatically finding bugs in programs, and they are now commonly available to programmers as part of compiler toolchains. For example, the LLVM project includes out-of-the-box sanitizers to detect thread safety (tsan), memory (asan,msan,lsan), or undefined behaviour (ubsan) bugs. In this article, we present nsan, a new sanitizer
-
What's in a GitHub Repository? -- A Software Documentation Perspective arXiv.cs.SE Pub Date : 2021-02-25 Akhila Sri Manasa Venigalla; Sridhar Chimalakonda
Developers use and contribute to repositories on GitHub. Documentation present in the repositories serves as an important source by helping developers to understand, maintain and contribute to the project. Currently, documentation in a repository is diversified, among various files, with most of it present in ReadMe files. However, other software artifacts in the repository, such as issue reports and
-
TELESTO: A Graph Neural Network Model for Anomaly Classification in Cloud Services arXiv.cs.SE Pub Date : 2021-02-25 Dominik Scheinert; Alexander Acker
Deployment, operation and maintenance of large IT systems becomes increasingly complex and puts human experts under extreme stress when problems occur. Therefore, utilization of machine learning (ML) and artificial intelligence (AI) is applied on IT system operation and maintenance - summarized in the term AIOps. One specific direction aims at the recognition of re-occurring anomaly types to enable
-
Communication and Personality Profiles of Global Software Developers arXiv.cs.SE Pub Date : 2021-02-24 Sherlock A. Licorish; Stephen G. MacDonell
Context: Prior research has established that a small proportion of individuals dominate team communication during global software development. It is not known, however, how these members' contributions affect their teams' knowledge diffusion process, or whether their personality profiles are responsible for their dominant presence. Objective: We set out to address this gap through the study of repository
-
Analyzing Confidentiality and Privacy Concerns: Insights from Android Issue Logs arXiv.cs.SE Pub Date : 2021-02-24 Sherlock A. Licorish; Stephen G. MacDonell; Tony Clear
Context: Post-release user feedback plays an integral role in improving software quality and informing new features. Given its growing importance, feedback concerning security enhancements is particularly noteworthy. In considering the rapid uptake of Android we have examined the scale and severity of Android security threats as reported by its stakeholders. Objective: We systematically mine Android
-
Software Engineering for Robotic Systems:a systematic mapping study arXiv.cs.SE Pub Date : 2021-02-24 Marcela G. dos Santos; Fabio Petrillo
Robots are being applied in a vast range of fields, leading researchers and practitioners to write tasks more complex than in the past. The robot software complexity increases the difficulty of engineering the robot's software components with quality requirements. Researchers and practitioners have applied software engineering (SE) approaches and robotic domains to address this issue in the last two
-
Facilitating Asynchronous Participatory Design of Open Source Software: Bringing End Users into the Loop arXiv.cs.SE Pub Date : 2021-02-24 Jazlyn Hellman; Jinghui Cheng; Jin L. C. Guo
As open source software (OSS) becomes increasingly mature and popular, there are significant challenges with properly accounting for usability concerns for the diverse end users. Participatory design, where multiple stakeholders collaborate on iterating the design, can be an efficient way to address the usability concerns for OSS projects. However, barriers such as a code-centric mindset and insufficient
-
Learning Off-By-One Mistakes: An Empirical Study arXiv.cs.SE Pub Date : 2021-02-24 Hendrig Sellik; Onno van Paridon; Georgios Gousios; Maurício Aniche
Mistakes in binary conditions are a source of error in many software systems. They happen when developers use, e.g., < or > instead of <= or >=. These boundary mistakes are hard to find and impose manual, labor-intensive work for software developers. While previous research has been proposing solutions to identify errors in boundary conditions, the problem remains open. In this paper, we explore the
-
Relating Reading, Visualization, and Coding forNew Programmers: A Neuroimaging Study arXiv.cs.SE Pub Date : 2021-02-24 Madeline Endres; Zachary Karas; Xiaosu Hu; Ioulia Kovelman; Westley Weimer
Understanding how novices reason about coding at a neurological level has implications for training the next generation of software engineers. In recent years, medical imaging has been increasingly employed to investigate patterns of neural activity associated with coding activity. However, such studies have focused on advanced undergraduates and professionals. In a human study of 31 participants,
-
Modelling a CubeSat-based Space Mission and its Operation arXiv.cs.SE Pub Date : 2021-02-23 Carlos Leandro Gomes Batista; Fátima Mattiello-Francisco
Since the early 2000' years, the CubeSats have been growing and getting more and more "space" in the Space industry. Their short development schedule, low cost equipment and piggyback launches create a new way to access the space, provide new services and enable the development of new technologies for processes and applications. That is the case of the Verification and Validation of these missions
-
OSS PESTO: An Open Source Software Project Evaluation and Selection TOol arXiv.cs.SE Pub Date : 2021-02-24 Xiaozhou Li; Sergio Moreschini
Open source software (OSS), playing an increasingly critical role nowadays, has been commonly adopted and integrated in various software products. For many practitioners, selecting and adopting suitable OSS can help them greatly. Though many studies have been conducted on proposing OSS evaluation and selection models, a limited number are followed and used in the industry. Meanwhile, many existing
-
How Can Human Values Be Addressed in Agile Methods? A Case Study on SAFe arXiv.cs.SE Pub Date : 2021-02-24 Waqar Hussain; Mojtaba Shahin; Rashina Hoda; Jon Whittle; Harsha Perera; Arif Nurwidyantoro; Rifat Ara Shams; Gillian Oliver
Agile methods are predominantly focused on delivering business values. But can Agile methods be adapted to effectively address and deliver human values such as social justice, privacy, and sustainability in the software they produce? Human values are what an individual or a society considers important in life. Ignoring these human values in software can pose difficulties or risks for all stakeholders
-
Hero: On the Chaos When PATH Meets Modules arXiv.cs.SE Pub Date : 2021-02-24 Ying Wang; Liang Qiao; Chang Xu; Yepang Liu; Shing-Chi Cheung; Na Meng; Hai Yu; Zhiliang Zhu
Ever since its first release in 2009, the Go programming language (Golang) has been well received by software communities. A major reason for its success is the powerful support of library-based development, where a Golang project can be conveniently built on top of other projects by referencing them as libraries. As Golang evolves, it recommends the use of a new library-referencing mode to overcome
-
Practitioners' Perceptions of the Goals and Visual Explanations of Defect Prediction Models arXiv.cs.SE Pub Date : 2021-02-24 Jirayus Jiarpakdee; Chakkrit Tantithamthavorn; John Grundy
Software defect prediction models are classifiers that are constructed from historical software data. Such software defect prediction models have been proposed to help developers optimize the limited Software Quality Assurance (SQA) resources and help managers develop SQA plans. Prior studies have different goals for their defect prediction models and use different techniques for generating visual
-
Automating Test Case Identification in Open Source Projects on GitHub arXiv.cs.SE Pub Date : 2021-02-23 Matej Madeja; Jaroslav Porubän; Michaela Bačíková; Matúš Sulír; Ján Juhár; Sergej Chodarev; Filip Gurbáľ
Software testing is one of the very important Quality Assurance (QA) components. A lot of researchers deal with the testing process in terms of tester motivation and how tests should or should not be written. However, it is not known from the recommendations how the tests are actually written in real projects. In this paper the following was investigated: (i) the denotation of the test word in different
-
Toward Speeding up Mutation Analysis by Memoizing Expensive Methods arXiv.cs.SE Pub Date : 2021-02-23 Ali Ghanbari; Andrian Marcus
Mutation analysis has many applications, such as assessing the quality of test cases, fault localization, test input generation, security analysis, etc. Such applications involve running test suite against a large number of program mutants leading to poor scalability. Much research has been aimed at speeding up this process, focusing on reducing the number of mutants, the number of executed tests,
-
The State-of-Practice in Requirements Elicitation: An Extended Interview Study at 12 Companies arXiv.cs.SE Pub Date : 2021-02-23 Cristina Palomares; Xavier Franch; Carme Quer; Panagiota Chatzipetrou; Lidia López; Tony Gorschek
Context. Requirements engineering remains a discipline that is faced with a large number of challenges, including the implementation of a requirements elicitation process in industry. Although several proposals have been suggested by researchers and academics, little is known of the practices that are actually followed in industry. Objective. We investigate the SoTA with respect to requirements elicitation
-
The SmartSHARK Repository Mining Data arXiv.cs.SE Pub Date : 2021-02-23 Alexander Trautsch; Steffen Herbold
The SmartSHARK repository mining data is a collection of rich and detailed information about the evolution of software projects. The data is unique in its diversity and contains detailed information about each change, issue tracking data, continuous integration data, as well as pull request and code review data. Moreover, the data does not contain only raw data scraped from repositories, but also annotations
-
Structural Similarity of Boundary Conditions and an Efficient Local Search Algorithm for Goal Conflict Identification arXiv.cs.SE Pub Date : 2021-02-23 Hongzhen Zhong; Hai Wan; Weilin Luo; Zhanhao Xiao; Jia Li; Biqing Fang
In goal-oriented requirements engineering, goal conflict identification is of fundamental importance for requirements analysis. The task aims to find the feasible situations which make the goals diverge within the domain, called boundary conditions (BCs). However, the existing approaches for goal conflict identification fail to find sufficient BCs and general BCs which cover more combinations of circumstances
-
Practical Mutation Testing at Scale arXiv.cs.SE Pub Date : 2021-02-22 Goran Petrović; Marko Ivanković; Gordon Fraser; René Just
Mutation analysis assesses a test suite's adequacy by measuring its ability to detect small artificial faults, systematically seeded into the tested program. Mutation analysis is considered one of the strongest test-adequacy criteria. Mutation testing builds on top of mutation analysis and is a testing technique that uses mutants as test goals to create or improve a test suite. Mutation testing has
-
Automatic Detection and Resolution of Software Merge Conflicts: Are We There Yet? arXiv.cs.SE Pub Date : 2021-02-22 Bowen ShenVirginia Polytechnic Institute and State University, USA; Cihan XiaoVirginia Polytechnic Institute and State University, USA; Na MengVirginia Polytechnic Institute and State University, USA; Fei HeTsinghua University, China
Developers create software branches for tentative feature addition and bug fixing, and periodically merge branches to release software with new features or repairing patches. When the program edits from different branches textually overlap (i.e., textual conflicts), or the co-application of those edits lead to compilation or runtime errors (i.e., compiling or dynamic conflicts), it is challenging and
-
Robust and Transferable Anomaly Detection in Log Data using Pre-Trained Language Models arXiv.cs.SE Pub Date : 2021-02-23 Harold Ott; Jasmin Bogatinovski; Alexander Acker; Sasho Nedelkoski; Odej Kao
Anomalies or failures in large computer systems, such as the cloud, have an impact on a large number of users that communicate, compute, and store information. Therefore, timely and accurate anomaly detection is necessary for reliability, security, safe operation, and mitigation of losses in these increasingly important systems. Recently, the evolution of the software industry opens up several problems
-
Smart Contract Security: a Practitioners' Perspective arXiv.cs.SE Pub Date : 2021-02-22 Zhiyuan Wan; Xin Xia; David Lo; Jiachi Chen; Xiapu Luo; Xiaohu Yang
Smart contracts have been plagued by security incidents, which resulted in substantial financial losses. Given numerous research efforts in addressing the security issues of smart contracts, we wondered how software practitioners build security into smart contracts in practice. We performed a mixture of qualitative and quantitative studies with 13 interviewees and 156 survey respondents from 35 countries
-
Mutation Testing framework for Machine Learning arXiv.cs.SE Pub Date : 2021-02-19 Raju
This is an article or technical note which is intended to provides an insight journey of Machine Learning Systems (MLS) testing, its evolution, current paradigm and future work. Machine Learning Models, used in critical applications such as healthcare industry, Automobile, and Air Traffic control, Share Trading etc., and failure of ML Model can lead to severe consequences in terms of loss of life or
-
Towards Evidence-based Testability Measurements arXiv.cs.SE Pub Date : 2021-02-22 Luca Guglielmo; Andrea Riboni; Giovanni Denaro
Evaluating Software testability can assist software managers in optimizing testing budgets and identifying opportunities for refactoring. In this paper, we abandon the traditional approach of pursuing testability measurements based on the correlation between software metrics and test characteristics observed on past projects, e.g., the size, the organization or the code coverage of the test cases.
-
Design techniques for a seamless information system architecture arXiv.cs.SE Pub Date : 2021-02-22 Grigory Tsiperman
The paper discusses design techniques for a seamless architecture of information systems (IS). A seamless architecture is understood as such an architectural de-scription of an IS, that defines explicit connections between elements of architec-tural models of various architectural representations. Design techniques are based on the adaptive clustering method developed by the author, which allows one
-
Software Engineering for Internet of Things arXiv.cs.SE Pub Date : 2021-02-21 Mahdi Fahmideh; Aakash Ahmed; Ali Behnaz; John Grundy; Willy Susilo
Internet of Things based systems (IoT systems for short) are becoming increasingly popular across different industrial domains and their development is rapidly increasing to provide value-added services to end-users and citizens. Little research to date uncovers the core development process lifecycle needed for IoT systems, and thus software engineers find themselves unprepared and unfamiliar with
-
A Projection-Stable Grammatical Model for the Distributed Execution of Administrative Processes with Emphasis on Actors' Views arXiv.cs.SE Pub Date : 2021-02-21 Milliam Maxime Zekeng Ndadji; Maurice Tchoupé Tchendji; Clémentin Tayou Djamegni; Didier Parigot
During the last two decades, the decentralized execution of business processes has been one of the main research topics in Business Process Management. Several models (languages) for processes' specification in order to facilitate their distributed execution, have been proposed. LSAWfP is among the most recent in this area: it helps to specify administrative processes with grammatical models indicating
-
CheckSoft : A Scalable Event-Driven Software Architecture for Keeping Track of People and Things in People-Centric Spaces arXiv.cs.SE Pub Date : 2021-02-21 Rohan Sarkar; Avinash C. Kak
We present CheckSoft, a scalable event-driven software architecture for keeping track of people-object interactions in people-centric applications such as airport checkpoint security areas, automated retail stores, smart libraries, and so on. The architecture works off the video data generated in real time by a network of surveillance cameras. Although there are many different aspects to automating
-
Automatic Programming Through Combinatorial Evolution arXiv.cs.SE Pub Date : 2021-02-20 Sebastian Fix; Thomas Probst; Oliver Ruggli; Thomas Hanne; Patrik Christen
It has been already shown that combinatorial evolution - the creation of new things through the combination of existing things - can be a powerful way to evolve rather than design technical objects such as electronic circuits in a computer simulation. Intriguingly, only a few iterations seem to be required to already achieve complex objects. In the present paper we want to employ combinatorial evolution
-
Raising Security Awareness using Cybersecurity Challenges in Embedded Programming Courses arXiv.cs.SE Pub Date : 2021-02-20 Tiago Espinha Gasiba; Samra Hodzic; Ulrike Lechner; Maria Pinto-Albuquerque
Security bugs are errors in code that, when exploited, can lead to serious software vulnerabilities. These bugs could allow an attacker to take over an application and steal information. One of the ways to address this issue is by means of awareness training. The Sifu platform was developed in the industry, for the industry, with the aim to raise software developers' awareness of secure coding. This
-
CyberSecurity Challenges: Serious Games for Awareness Training in Industrial Environments arXiv.cs.SE Pub Date : 2021-02-20 Tiago Espinha Gasiba; Ulrike Lechner; Maria Pinto-Albuquerque
Awareness of cybersecurity topics, e.g., related to secure coding guidelines, enables software developers to write secure code. This awareness is vital in industrial environments for the products and services in critical infrastructures. In this work, we introduce and discuss a new serious game designed for software developers in the industry. This game addresses software developers' needs and is shown
-
Raising Secure Coding Awareness for Software Developers in the Industry arXiv.cs.SE Pub Date : 2021-02-20 Tiago Espinha Gasiba; Ulrike Lechner
Many industrial IT security standards and policies mandate the usage of a secure coding methodology in the software development process. This implies two different aspects: first, secure coding must be based on a set of secure coding guidelines, and second software developers must be aware of these secure coding practices. On the one side, secure coding guidelines seems a bit like a black-art: while
-
Cybersecurity Awareness Platform with Virtual Coach and Automated Challenge Assessment arXiv.cs.SE Pub Date : 2021-02-20 Tiago Espinha Gasiba; Ulrike Lechner; Maria Pinto-Albuquerque; Anmoal Porwal
Over the last years, the number of cyber-attacks on industrial control systems has been steadily increasing. Among several factors, proper software development plays a vital role in keeping these systems secure. To achieve secure software, developers need to be aware of secure coding guidelines and secure coding best practices. This work presents a platform geared towards software developers in the
-
Merly.jl: Web Framework in Julia arXiv.cs.SE Pub Date : 2021-02-20 Josué Acevedo Maldonado
Merly.jl is a package for creating web applications in Julia. It presents features such as the creation of endpoints with function notation and with macro notation, handling of static files, use of path parameters, processing of data sent by a web client in the body in a personalized way, handling of CORS and compatibility with the use of middleware. It presents a familiar syntax with the rest of the
-
FLACK: Counterexample-Guided Fault Localization for Alloy Models arXiv.cs.SE Pub Date : 2021-02-19 Guolong Zheng; ThanhVu Nguyen; Simón Gutiérrez Brida; Germán Regis; Marcelo F. Frias; Nazareno Aguirre; Hamid Bagheri
Fault localization is a practical research topic that helps developers identify code locations that might cause bugs in a program. Most existing fault localization techniques are designed for imperative programs (e.g., C and Java) and rely on analyzing correct and incorrect executions of the program to identify suspicious statements. In this work, we introduce a fault localization approach for models
-
Software Architecture for Next-Generation AI Planning Systems arXiv.cs.SE Pub Date : 2021-02-22 Sebastian Graef; Ilche Georgievski
Artificial Intelligence (AI) planning is a flourishing research and development discipline that provides powerful tools for searching a course of action that achieves some user goal. While these planning tools show excellent performance on benchmark planning problems, they represent challenging software systems when it comes to their use and integration in real-world applications. In fact, even in-depth
-
SoftTRR: Protect Page Tables Against RowHammer Attacks using Software-only Target Row Refresh arXiv.cs.SE Pub Date : 2021-02-20 Zhi Zhang; Yueqiang Cheng; Minghua Wang; Wei He; Wenhao Wang; Nepal Surya; Yansong Gao; Kang Li; Zhe Wang; Chenggang Wu
Rowhammer attacks that corrupt level-1 page tables to gain kernel privilege are the most detrimental to system security and hard to mitigate. However, recently proposed software-only mitigations are not effective against such kernel privilege escalation attacks. In this paper, we propose an effective and practical software-only defense, called SoftTRR, to protect page tables from all existing rowhammer
-
Exploring Factors and Measures to Select Open Source Software arXiv.cs.SE Pub Date : 2021-02-19 Xiaozhou Li; Sergio Moreschini; Zheying Zhang; Davide Taibi
[Context] Open Source Software (OSS) is nowadays used and integrated in most of the commercial products. However, the selection of OSS projects for integration is not a simple process, mainly due to a of lack of clear selection models and lack of information from the OSS portals. [Objective] We investigated the current factors and measures that practitioners are currently considering when selecting
-
Asset Management Taxonomy: A Roadmap arXiv.cs.SE Pub Date : 2021-02-19 Ehsan Zabardast; Javier Gonzalez-Huerta; Tony Gorschek; Darja Šmite; Emil Alégroth; Fabian Fagerholm
Developing a software-intensive product or service can be a significant undertaking, associated with unique challenges in each project stage, from inception to development, delivery, maintenance, and evolution. Each step results in artefacts that are crucial for the project outcome, such as source-code and supporting deliverables, e.g., documentation. Artefacts which have inherent value for the organisation
-
Self-Confidence of Undergraduate Students in Designing Software Architecture arXiv.cs.SE Pub Date : 2021-02-18 Lotfi ben Othmane; Ameerah-Muhsina Jamil
Contributions: This paper investigates the relations between undergraduate software architecture students' self-confidence and their course expectations, cognitive levels, preferred learning methods, and critical thinking. Background: these students, often, lack self-confidence in their ability to use their knowledge to design software architectures. Intended Outcomes: Self-confidence is expected to
-
Architectural Decay as Predictor of Issue- and Change-Proneness arXiv.cs.SE Pub Date : 2021-02-19 Duc Minh Le; Suhrid Karthik; Marcelo Schmitt Laser; Nenad Medvidovic
Architectural decay imposes real costs in terms of developer effort, system correctness, and performance. Over time, those problems are likely to be revealed as explicit implementation issues (defects, feature changes, etc.). Recent empirical studies have demonstrated that there is a significant correlation between architectural "smells" -- manifestations of architectural decay -- and implementation
-
Design Patterns for Blockchain-Based Payment Applications arXiv.cs.SE Pub Date : 2021-02-19 Qinghua Lu; Xiwei Xu; H. M. N. Dilum Bandara; Shiping Chen; Liming Zhu
As the killer application of blockchain technology, blockchain-based payments have attracted extensive attention ranging from hobbyists to corporates to regulatory bodies. Blockchain facilitates fast, secure, and cross-border payments without the need for intermediaries such as banks. Because the blockchain technology is still emerging, systematically organised knowledge providing a holistic and comprehensive
-
Characterizing and Mitigating Self-Admitted Build Debt arXiv.cs.SE Pub Date : 2021-02-19 Tao Xiao; Dong Wang; Shane McIntosh; Hideaki Hata; Raula Gaikovina Kula; Takashi Ishio; Kenichi Matsumoto
Technical Debt is a metaphor used to describe the situation in which long-term code quality is traded for short-term goals in software projects. In recent years, the concept of self-admitted technical debt (SATD) was proposed, which focuses on debt that is intentionally introduced and described by developers. Although prior work has made important observations about admitted technical debt in source
-
Prioritize Crowdsourced Test Reports via Deep Screenshot Understanding arXiv.cs.SE Pub Date : 2021-02-19 Shengcheng Yu; Chunrong Fang; Zhenfei Cao; Xu Wang; Tongyu Li; Zhenyu Chen
Crowdsourced testing is increasingly dominant in mobile application (app) testing, but it is a great burden for app developers to inspect the incredible number of test reports. Many researches have been proposed to deal with test reports based only on texts or additionally simple image features. However, in mobile app testing, texts contained in test reports are condensed and the information is inadequate
-
Personality Profiles of Global Software Developers arXiv.cs.SE Pub Date : 2021-02-19 Sherlock A. Licorish; Stephen G. MacDonell
Context: Individuals' personality traits have been shown to influence their behavior during team work. In particular, positive group attitudes are said to be essential for distributed and global software development efforts where collaboration is critical to project success. Objective: Given this, we have sought to study the influence of global software practitioners' personality profiles from a psycholinguistic
-
Combining Text Mining and Visualization Techniques to Study Teams' Behavioral Processes arXiv.cs.SE Pub Date : 2021-02-19 Sherlock A. Licorish; Stephen G. MacDonell
There is growing interest in mining software repository data to understand, and predict, various aspects of team processes. In particular, text mining and natural-language processing (NLP) techniques have supported such efforts. Visualization may also supplement text mining to reveal unique multi-dimensional insights into software teams' behavioral processes. We demonstrate the utility of combining
-
SQAPlanner: Generating Data-InformedSoftware Quality Improvement Plans arXiv.cs.SE Pub Date : 2021-02-19 Dilini Rajapaksha; Chakkrit Tantithamthavorn; Jirayus Jiarpakdee; Christoph Bergmeir; John Grundy; Wray Buntine
Software Quality Assurance (SQA) planning aims to define proactive plans, such as defining maximum file size, to prevent the occurrence of software defects in future releases. To aid this, defect prediction models have been proposed to generate insights as the most important factors that are associated with software quality. Such insights that are derived from traditional defect models are far from
-
SEPAL: Towards a Large-scale Analysis of SEAndroid Policy Customization arXiv.cs.SE Pub Date : 2021-02-19 Dongsong Yu; Guangliang Yang; Guozhu Meng; Xiaorui Gong; Xiu Zhang; Xiaobo Xiang; Xiaoyu Wang; Yue Jiang; Kai Chen; Wei Zou; Wenke Lee; Wenchang Shi
To investigate the status quo of SEAndroid policy customization, we propose SEPAL, a universal tool to automatically retrieve and examine the customized policy rules. SEPAL applies the NLP technique and employs and trains a wide&deep model to quickly and precisely predict whether one rule is unregulated or not.Our evaluation shows SEPAL is effective, practical and scalable. We verify SEPAL outperforms
-
Speculative Analysis for Quality Assessment of Code Comments arXiv.cs.SE Pub Date : 2021-02-18 Pooja Rani
Previous studies have shown that high-quality code comments assist developers in program comprehension and maintenance tasks. However, the semi-structured nature of comments, unclear conventions for writing good comments, and the lack of quality assessment tools for all aspects of comments make their evaluation and maintenance a non-trivial problem. To achieve high-quality comments, we need a deeper
-
FIXME: Enhance Software Reliability with Hybrid Approaches in Cloud arXiv.cs.SE Pub Date : 2021-02-17 Jinho Hwang; Larisa Shwartz; Qing Wang; Raghav Batta; Harshit Kumar; Michael Nidd
With the promise of reliability in cloud, more enterprises are migrating to cloud. The process of continuous integration/deployment (CICD) in cloud connects developers who need to deliver value faster and more transparently with site reliability engineers (SREs) who need to manage applications reliably. SREs feed back development issues to developers, and developers commit fixes and trigger CICD to
-
APIScanner -- Towards Automated Detection of Deprecated APIs in Python Libraries arXiv.cs.SE Pub Date : 2021-02-18 Aparna Vadlamani; Rishitha Kalicheti; Sridhar Chimalakonda
Python libraries are widely used for machine learning and scientific computing tasks today. APIs in Python libraries are deprecated due to feature enhancements and bug fixes in the same way as in other languages. These deprecated APIs are discouraged from being used in further software development. Manually detecting and replacing deprecated APIs is a tedious and time-consuming task due to the large
-
Categorising Software Contexts: Research-in-Progress arXiv.cs.SE Pub Date : 2021-02-18 Diana Kirk; Stephen G. MacDonell
A growing number of researchers suggest that software process must be tailored to a project's context to achieve maximal performance. Researchers have studied 'context' in an ad-hoc way, with focus on those contextual factors that appear to be of significance. The result is that we have no useful basis upon which to contrast and compare studies. We are currently researching a theoretical basis for
Contents have been reproduced by permission of the publishers.