Latest in cs.se

total 5877took 0.13s
A Decomposition and Metric-Based Evaluation Framework for MicroservicesAug 22 2019Migrating from monolithic systems into microservice is a very complex task. Companies are commonly decomposing the monolithic system manually, analyzing dependencies of the monolith and then assessing different decomposition options. The goal of our work ... More
Do Energy-oriented Changes Hinder Maintainability?Aug 22 2019Energy efficiency is a crucial quality requirement for mobile applications. However, improving energy efficiency is far from trivial as developers lack the knowledge and tools to aid in this activity. In this paper we study the impact of changes to improve ... More
Interactive Duplicate Search in Software DocumentationAug 22 2019Various software features such as classes, methods, requirements, and tests often have similar functionality. This can lead to emergence of duplicates in their descriptive documentation. Uncontrolled duplicates created via copy/paste hinder the process ... More
Unveiling Elite Developers' Activities in Open Source ProjectsAug 22 2019Open-source developers, particularly the elite developers, maintain a diverse portfolio of contributing activities. They do not only commit source code but also spend a significant amount of effort on other communicative, organizational, and supportive ... More
Design Space of Behaviour Planning for Autonomous DrivingAug 21 2019We explore the complex design space of behaviour planning for autonomous driving. Design choices that successfully address one aspect of behaviour planning can critically constrain others. To aid the design process, in this work we decompose the design ... More
Scala Implicits are Everywhere: A large-scale study of the use of Implicits in the wildAug 21 2019Aug 22 2019The Scala programming language offers two distinctive language features implicit parameters and implicit conversions, often referred together as implicits. Announced without fanfare in 2004, implicits have quickly grown to become a widely and pervasively ... More
Scala Implicits are Everywhere: A large-scale study of the use of Implicits in the wildAug 21 2019The Scala programming language offers two distinctive language features implicit parameters and implicit conversions, often referred together as implicits. Announced without fanfare in 2004, implicits have quickly grown to become a widely and pervasively ... More
Leveraging creativity in requirements elicitation within agile software development: a systematic literature reviewAug 21 2019Agile approaches tend to focus solely on scoping and simplicity rather than on problem solving and discovery. This hampers the development of innovative solutions. Additionally, little has been said about how to capture and represent the real user needs. ... More
Differentiated context-aware hook placement for different owners' smartphonesAug 21 2019A hook is a piece of code. It checks user privacy policy before some sensitive operations happen. We propose an automated solution named Prihook for hook placement in the Android Framework. Addressing specific context-aware user privacy concerns, the ... More
Understanding Conditional Compilation Through Integrated Representation of Variability and Source CodeAug 20 2019The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many drawbacks. ... More
On Integrating Design Thinking for a Human-centered Requirements EngineeringAug 20 2019Design Thinking has become popular to tackle what is often referred to as "wicked problems" in a human-centered manner. In this position paper, we elaborate on the possibilities and needs to integrate Design Thinking into Requirements Engineering. We ... More
An Autonomous Performance Testing Framework using Self-Adaptive Fuzzy Reinforcement LearningAug 19 2019Test automation can result in reduction in cost and human effort. If the optimal policy, the course of actions taken, for the intended objective in a testing process could be learnt by the testing system (e.g., a smart tester agent), then it could be ... More
The Strengths and Behavioral Quirks of Java Bytecode DecompilersAug 19 2019During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequently, the decompilation process, which aims at producing source code from ... More
Reducing the Effort for Systematic Reviews in Software EngineeringAug 19 2019Context. Systematic Reviews (SRs) are means for collecting and synthesizing evidence from the identification and analysis of relevant studies from multiple sources. To this aim, they use a well-defined methodology meant to mitigate the risks of biases ... More
Recommendation of Exception Handling Code in Mobile App DevelopmentAug 19 2019In modern programming languages, exception handling is an effective mechanism to avoid unexpected runtime errors. Thus, failing to catch and handle exceptions could lead to serious issues like system crashing, resource leaking, or negative end-user experiences. ... More
Revisiting Heterogeneous Defect Prediction: How Far Are We?Aug 19 2019Until now, researchers have proposed several novel heterogeneous defect prediction HDP methods with promising performance. To the best of our knowledge, whether HDP methods can perform significantly better than unsupervised methods has not yet been thoroughly ... More
Assessing the Safety and Reliability of Autonomous Vehicles from Road TestingAug 19 2019There is an urgent societal need to assess whether autonomous vehicles (AVs) are safe enough. From published quantitative safety and reliability assessments of AVs, we know that, given the goal of predicting very low rates of accidents, road testing alone ... More
Incorporating fault-proneness estimations into coverage-based test case prioritization methodsAug 18 2019Context: During the development process of a software program, regression testing is used to ensure that the correct behavior of the software is retained after updates to the source code. This regression testing becomes costly over time as the number ... More
API Misuse Correction: A Statistical ApproachAug 18 2019Modern software development relies heavily on Application Programming Interface (API) libraries. However, there are often certain constraints on using API elements in such libraries. Failing to follow such constraints (API misuse) could lead to serious ... More
Feedback-based, Automated Failure Testing of Microservice-based ApplicationsAug 18 2019Modern distributed applications are moving toward a microservice architecture, in which each service is developed and managed independently, and new features and updates are delivered continuously. A guiding principle of microservice architecture is that ... More
Feedback-based, Automated Failure Testing of Microservice-based ApplicationsAug 18 2019Aug 20 2019Modern distributed applications are moving toward a microservice architecture, in which each service is developed and managed independently, and new features and updates are delivered continuously. A guiding principle of microservice architecture is that ... More
Characterizing the transition to Kotlin of Android apps: a study on F-Droid, Play Store and GitHubAug 18 2019Kotlin is a novel language that represents an alternative to Java, and has been recently adopted as a first-class programming language for Android applications. Kotlin is achieving a significant diffusion among developers, and several studies have highlighted ... More
Software Verification with PDR: Implementation and Empirical Evaluation of the State of the ArtAug 17 2019Property-directed reachability (PDR) is a SAT/SMT-based reachability algorithm that incrementally constructs inductive invariants. After it was successfully applied to hardware model checking, several adaptations to software model checking have been proposed. ... More
FAIR and Open Computer Science Research SoftwareAug 16 2019In computational science and in computer science, research software is a central asset for research. Computational science is the application of computer science and software engineering principles to solving scientific problems, whereas computer science ... More
Path-Sensitive Atomic Commit: Local Coordination Avoidance for Distributed Transactions (Technical Report)Aug 16 2019Concurrent objects with asynchronous messaging are an increasingly popular way to structure highly available, high performance, large-scale software systems. To ensure data-consistency and support synchronization between objects such systems often use ... More
Challenges in Survey ResearchAug 16 2019While being an important and often used research method, survey research has been less often discussed on a methodological level in empirical software engineering than other types of research. This chapter compiles a set of important and challenging issues ... More
How does Object-Oriented Code Refactoring Influence Software Quality? Research Landscape and ChallengesAug 15 2019Context: Software refactoring aims to improve software quality and developer productivity. Numerous empirical studies investigating the impact of refactoring activities on software quality have been conducted over the last two decades. Objective: This ... More
Adabot: Fault-Tolerant Java DecompilerAug 14 2019Reverse Engineering(RE) has been a fundamental task in software engineering. However, most of the traditional Java reverse engineering tools are strictly rule defined, thus are not fault-tolerant, which pose serious problem when noise and interference ... More
Towards Self-Explainable Cyber-Physical SystemsAug 13 2019With the increasing complexity of CPSs, their behavior and decisions become increasingly difficult to understand and comprehend for users and other stakeholders. Our vision is to build self-explainable systems that can, at run-time, answer questions about ... More
Requirements Engineering for Machine Learning: Perspectives from Data ScientistsAug 13 2019Machine learning (ML) is used increasingly in real-world applications. In this paper, we describe our ongoing endeavor to define characteristics and challenges unique to Requirements Engineering (RE) for ML-based systems. As a first step, we interviewed ... More
Extract Method Refactoring by Successive Edge ContractionAug 13 2019Segmentation, a new approach based on successive edge contraction is introduced for extract method refactoring. It targets identification of distinct functionalities implemented within a method. Segmentation builds upon data and control dependencies among ... More
Methodological Issues in Observational StudiesAug 12 2019Background. Starting from the 1960s, practitioners and researchers have looked for ways to empirically investigate new technologies such as inspecting the effectiveness of new methods, tools, or practices. With this purpose, the empirical software engineering ... More
How do Developers Promote Open Source Projects?Aug 12 2019Open source projects have an increasing importance on modern software development. For this reason, these projects, as usual with commercial software projects, should make use of promotion channels to communicate and establish contact with users and contributors. ... More
Right Scaling for Right Pricing: A Case Study on Total Cost of Ownership Measurement for Cloud MigrationAug 12 2019Cloud computing promises traditional enterprises and independent software vendors a myriad of advantages over on-premise installations including cost, operational and organizational efficiencies. The decision to migrate software configured for on-premise ... More
Citations in Software Engineering -- Paper-related, Journal-related, and Author-related FactorsAug 12 2019Many factors could affect the number of citations to a paper. Citations have an important role in research policy and in measuring the excellence of research and researchers. This work is the first study in software engineering (SE) to assess multiple ... More
Citations in Software Engineering -- Paper-related, Journal-related, and Author-related FactorsAug 12 2019Aug 13 2019Many factors could affect the number of citations to a paper. Citations have an important role in research policy and in measuring the excellence of research and researchers. This work is the first study in software engineering (SE) to assess multiple ... More
Microservices Anti-Patterns: A TaxonomyAug 12 2019Several companies are re-architecting their monolithic information systems with microservices. However, many companies migrated without experience on microservices, mainly learning how to migrate from books or from practitioners' blogs. Because of the ... More
Microservices Anti Patterns: A TaxonomyAug 12 2019Aug 21 2019Several companies are re-architecting their monolithic information systems with microservices. However, many companies migrated without experience on microservices, mainly learning how to migrate from books or from practitioners' blogs. Because of the ... More
VISON: An Ontology-Based Approach for Software Visualization Tool DiscoverabilityAug 12 2019Although many tools have been presented in the research literature of software visualization, there is little evidence of their adoption. To choose a suitable visualization tool, practitioners need to analyze various characteristics of tools such as their ... More
Mutation Testing for Ethereum Smart ContractAug 10 2019Smart contract is a special program that manages digital assets on blockchain. It is difficult to recover the loss if users make transactions through buggy smart contracts, which cannot be directly fixed. Hence, it is important to ensure the correctness ... More
RCE: An Integration Environment for Engineering and ScienceAug 09 2019We present RCE (Remote Component Environment), an open-source framework developed primarily at DLR (German Aerospace Center) that enables its users to construct and execute multidisciplinary engineering workflows comprising multiple disciplinary tools. ... More
A Survey of Constrained Combinatorial TestingAug 07 2019Combinatorial Testing (CT) is a potentially powerful testing technique, whereas its failure revealing ability might be dramatically reduced if it fails to handle constraints in an adequate and efficient manner. To ensure the wider applicability of CT ... More
Refactoring Neural Networks for VerificationAug 06 2019Deep neural networks (DNN) are growing in capability and applicability. Their effectiveness has led to their use in safety critical and autonomous systems, yet there is a dearth of cost-effective methods available for reasoning about the behavior of a ... More
Scalable Inference of System-level Models from Component LogsAug 06 2019Behavioral software models play a key role in many software engineering tasks; unfortunately, these models either are not available during software development or, if available, they quickly become outdated as the implementations evolve. Model inference ... More
Do as I Do, Not as I Say: Do Contribution Guidelines Match the GitHub Contribution Process?Aug 06 2019Developer contribution guidelines are used in social coding sites like GitHub to explain and shape the process a project expects contributors to follow. They set standards for all participants and "save time and hassle caused by improperly created pull ... More
Augmenting Software Engineering Processes Towards Designing Privacy Aware Internet of Things ApplicationsAug 06 2019The design and development process for Internet of Things (IoT) applications is more complicated than for desktop, mobile, or web applications. IoT applications require both software and hardware to work together across multiple different types of nodes ... More
WSEmail: A Retrospective on a System for Secure Internet Messaging Based on Web ServicesAug 06 2019Web services offer an opportunity to redesign a variety of older systems to exploit the advantages of a flexible, extensible, secure set of standards. In this work we revisit WSEmail, a system proposed over ten years ago to improve email by redesigning ... More
Mull it over: mutation testing based on LLVMAug 05 2019This paper describes Mull, an open-source tool for mutation testing based on the LLVM framework. Mull works with LLVM IR, a low-level intermediate representation, to perform mutations, and uses LLVM JIT for just-in-time compilation. This design choice ... More
An Empirical Study on Technical Debt in a Finnish SMEAug 05 2019Objective. In this work, we report the experience of a Finnish SME in managing Technical Debt (TD), investigating the most common types of TD they faced in the past, their causes, and their effects. Method. We set up a focus group in the case-company, ... More
On the Relationship Between Coupling and Refactoring: An Empirical ViewpointAug 05 2019[Background] Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. [Aim] The goal of this paper is to investigate the highest and lowest ... More
The Impact of Developer Experience in Using Java CryptographyAug 05 2019Previous research has shown that crypto APIs are hard for developers to understand and difficult for them to use. They consequently rely on unvalidated boilerplate code from online resources where security vulnerabilities are common. We analyzed 2,324 ... More
Testability First!Aug 05 2019The pivotal role of testing in high-quality software production has driven a significant effort in evaluating and assessing testing practices. We explore the state of testing in a large industrial project over an extended period. We study the interplay ... More
Requirements-driven Test Generation for Autonomous Vehicles with Machine Learning ComponentsAug 02 2019Autonomous vehicles are complex systems that are challenging to test and debug. A requirements-driven approach to the development process can decrease the resources required to design and test these systems, while simultaneously increasing the reliability. ... More
The Technical Debt DatasetAug 02 2019Technical Debt analysis is increasing in popularity as nowadays researchers and industry are adopting various tools for static code analysis to evaluate the quality of their code. Despite this, empirical studies on software projects are expensive because ... More
Towards Surgically-Precise Technical Debt Estimation: Early Results and Research RoadmapAug 02 2019The concept of technical debt has been explored from many perspectives but its precise estimation is still under heavy empirical and experimental inquiry. We aim to understand whether, by harnessing approximate, data-driven, machine-learning approaches ... More
Learning to Identify Security-Related Issues Using Convolutional Neural NetworksAug 01 2019Aug 05 2019Software security is becoming a high priority for both large companies and start-ups alike due to the increasing potential for harm that vulnerabilities and breaches carry with them. However, attaining robust security assurance while delivering features ... More
Learning to Identify Security-RelatedIssues Using Convolutional Neural NetworksAug 01 2019Software security is becoming a high priority for both large companies and start-ups alike due to the increasing potential for harm that vulnerabilities and breaches carry with them. However, attaining robust security assurance while delivering features ... More
Set-Based Models for Cryptocurrency SoftwareAug 01 2019Emin G\"un Sirer once said: It's clear that writing a robust, secure smart contract requires extreme amounts of diligence. It's more similar to writing code for a nuclear power reactor, than to writing loose web code [...] Yet the current Solidity language ... More
Business-Driven Technical Debt PrioritizationAug 01 2019Technical debt happens when teams take shortcuts on software development to gain short-term benefits at the cost of making future changes more expensive. Previous results show that there is a misalignment between the prioritization done by technical professionals ... More
Tracy: A Business-driven Technical Debt Prioritization FrameworkJul 31 2019Technical debt is a pervasive problem in software development. Software development teams have to prioritize debt items and determine whether they should address debt or develop new features at any point in time. This paper presents "Tracy", a framework ... More
Extracting and Analyzing Context Information in User-Support Conversations on TwitterJul 31 2019While many apps include built-in options to report bugs or request features, users still provide an increasing amount of feedback via social media, like Twitter. Compared to traditional issue trackers, the reporting process in social media is unstructured ... More
Comprehending Test Code: An Empirical StudyJul 31 2019Developers spend a large portion of their time and effort on comprehending source code. While many studies have investigated how developers approach these comprehension tasks and what factors influence their success, less is known about how developers ... More
uBaaS: A Unified Blockchain as a Service PlatformJul 31 2019Blockchain is an innovative distributed ledger technology which has attracted a wide range of interests for building the next generation of applications to address lack-of-trust issues in business. Blockchain as a service (BaaS) is a promising solution ... More
What should I document? A preliminary systematic mapping study into API documentation knowledgeJul 30 2019Background: Good API documentation facilities the development process, improving productivity and quality. While the topic of API documentation quality has been of interest for the last two decades, there have been few studies to map the specific constructs ... More
Observability and Chaos Engineering on System Calls for Containerized Applications in DockerJul 30 2019In this paper, we present a novel fault injection system called ChaosOrca for system calls in containerized applications. ChaosOrca aims at evaluating a given application's self-protection capability with respect to system call errors. The unique feature ... More
An Empirical Study of GraphQL SchemasJul 30 2019GraphQL is a query language for APIs and a runtime to execute queries. Using GraphQL queries, clients define precisely what data they wish to retrieve or mutate on a server, leading to fewer round trips and reduced response sizes. Although interest in ... More
Towards Using Data to Inform Decisions in Agile Software Development: Views of Available DataJul 30 2019Software development comprises complex tasks which are performed by humans. It involves problem solving, domain understanding and communication skills as well as knowledge of a broad variety of technologies, architectures, and solution approaches. As ... More
Modeling Shared Cache Performance of OpenMP Programs using Reuse DistanceJul 29 2019Performance modeling of parallel applications on multicore computers remains a challenge in computational co-design due to the complex design of multicore processors including private and shared memory hierarchies. We present a Scalable Analytical Shared ... More
Semantic interoperability and characterization of data provenance in computational molecular engineeringJul 29 2019By introducing a common representational system for metadata that describe the employed simulation workflows, diverse sources of data and platforms in computational molecular engineering, such as workflow management systems, can become interoperable at ... More
sql4ml A declarative end-to-end workflow for machine learningJul 29 2019Aug 02 2019We present sql4ml, a system for expressing supervised machine learning (ML) models in SQL and automatically training them in TensorFlow. The primary motivation for this work stems from the observation that in many data science tasks there is a back-and-forth ... More
sql4ml A declarative end-to-end workflow for machine learningJul 29 2019We present $\textsf{sql4ml}$, a system for expressing supervised machine learning (ML) models in SQL and automatically training them in TensorFlow. The primary motivation for this work stems from the observation that in many data science tasks there is ... More
The Operational Cost of Ethereum AirdropsJul 29 2019Efficient transfers to many recipients present a host of issues on Ethereum. First, accounts are identified by long and incompressible constants. Second, these constants have to be stored and communicated for each payment. Third, the standard interface ... More
An Empirical Assessment on Affective Reactions of Novice Developers when Applying Test-Driven DevelopmentJul 29 2019We study whether and in which phase Test-Driven Development (TDD) influences affective states of novice developers in terms of pleasure, arousal, dominance, and liking. We performed a controlled experiment with 29 novice developers. Developers in the ... More
Time4sys2imi: A tool to formalize real-time system models under uncertaintyJul 29 2019Time4sys is a formalism developed by Thales, realizing a graphical specification for real-time systems. However, this formalism does not allow to perform formal analyses for real-time systems. So a translation of this tool to a formalism equipped with ... More
A Case Study on Automated Fuzz Target Generation for Large CodebasesJul 29 2019Fuzz Testing is a largely automated testing technique that provides random and unexpected input to a program in attempt to trigger failure conditions. Much of the research conducted thus far into Fuzz Testing has focused on developing improvements to ... More
Characterizing and Understanding Software Developer Networks in Security DevelopmentJul 28 2019To build secure software, developers often work together during software development and maintenance to find, fix, and prevent security vulnerabilities. Examining the nature of developer interactions during their security activities regarding security ... More
A Systematic Review of Unsupervised Learning Techniques for Software Defect PredictionJul 28 2019Background: Unsupervised machine learners have been increasingly applied to software defect prediction. It is an approach that may be valuable for software practitioners because it reduces the need for labeled training data. Objective: Investigate the ... More
Combining closed-loop test generation and execution by means of model checkingJul 27 2019Model checking is an established technique to formally verify automation systems which are required to be trusted. However, for sufficiently complex systems model checking becomes computationally infeasible. On the other hand, testing, which offers less ... More
Five Generic Processes for Behavior Description in Software EngineeringJul 27 2019Behavior modeling and software architecture specification are attracting more attention in software engineering. Describing both of them in integrated models yields numerous advantages for coping with complexity since the models are platform independent. ... More
Scalable Source Code Similarity Detection in Large Code RepositoriesJul 26 2019Source code similarity are increasingly used in application development to identify clones, isolate bugs, and find copy-rights violations. Similar code fragments can be very problematic due to the fact that errors in the original code must be fixed in ... More
Exploranative Code Quality DocumentsJul 26 2019Good code quality is a prerequisite for efficiently developing maintainable software. In this paper, we present a novel approach to generate exploranative (explanatory and exploratory) data-driven documents that report code quality in an interactive, ... More
Attack Synthesis for Strings using Meta-HeuristicsJul 26 2019Information leaks are a significant problem in modern computer systems and string manipulation is prevalent in modern software. We present techniques for automated synthesis of side-channel attacks that recover secret string values based on timing observations ... More
RERS-Fuzz : Combining Greybox Fuzzing with Interval Analysis for error reachability in reactive softwaresJul 26 2019Fuzz Testing is a well-studied area in the field of Software Maintenance and Evolution. In recent years, coverage-based Greybox fuzz testing has gained immense attention by discovering critical security level and show-stopper bugs in industrial grade ... More
Leveraging the Mob Mentality: An Experience Report on Mob ProgrammingJul 26 2019Mob Programming, or "mobbing", is a relatively new collaborative programming practice being experimented with in different organizational contexts. There are a number of claimed benefits to this way of working, but it is not clear if these are realized ... More
An Empirical Analysis of the Python Package Index (PyPI)Jul 25 2019Jul 26 2019In this research, we provide a comprehensive empirical summary of the Python Package Repository, PyPI, including both package metadata and source code covering 178,592 packages, 1,745,744 releases, 76,997 contributors, and 156,816,750 import statements. ... More
An Empirical Analysis of the Python Package Index (PyPI)Jul 25 2019In this research, we provide a comprehensive empirical summary of the Python Package Repository, PyPI, including both package metadata and source code covering 178,592 packages, 1,745,744 releases, 76,997 contributors, and 156,816,750 import statements. ... More
Not All Bugs Are the Same: Understanding, Characterizing, and Classifying the Root Cause of BugsJul 25 2019Modern version control systems such as Git or SVN include bug tracking mechanisms, through which developers can highlight the presence of bugs through bug reports, i.e., textual descriptions reporting the problem and what are the steps that led to a failure. ... More
Towards an Holistic Definition of Requirements DebtJul 25 2019When not appropriately managed, technical debt is considered to have negative effects on the long term success of a software project. However, how the debt metaphor applies to requirements engineering in general, and to requirements engineering activities ... More
A Survey of Automatic Generation of Source Code Comments: Algorithms and TechniquesJul 25 2019As an integral part of source code files, code comments help improve program readability and comprehension. However, developers sometimes do not comment on their program code adequately due to the incurred extra efforts, lack of relevant knowledge, unawareness ... More
Quantum Advantage and Y2K Bug: ComparisonJul 24 2019Quantum Computers (QCs), once they mature, will be able to solve some problems faster than Classic Computers. This phenomenon is called "quantum advantage" (or a stronger term "quantum supremacy"). Quantum advantage will help us to speed up computations ... More
Towards Logical Specification of Statistical Machine LearningJul 24 2019We introduce a logical approach to formalizing statistical properties of machine learning. Specifically, we propose a formal model for statistical classification based on a Kripke model, and formalize various notions of classification performance, robustness, ... More
Agile Transformation: A Summary and Research Agenda from the First International WorkshopJul 24 2019Organisations are upscaling their use of agile. Agile ways of working are used in larger projects and also in organisational units outside IT. This paper reports on the results of the first international workshop on agile transformation, which aimed to ... More
Effective team onboarding in Agile software development: techniques and goalsJul 24 2019Context: It is not uncommon for a new team member to join an existing Agile software development team, even after development has started. This new team member faces a number of challenges before they are integrated into the team and can contribute productively ... More
DevOps Capabilities, Practices, and Challenges: Insights from a Case StudyJul 24 2019DevOps is a set of principles and practices to improve collaboration between development and IT Operations. Against the backdrop of the growing adoption of DevOps in a variety of software development domains, this paper describes empirical research into ... More
Handling Numerous Stakeholders Requirements A Research Agenda and Preliminary OutcomesJul 24 2019This research aims to design and develop a new requirements prioritization approach for analyzing and prioritizing stakeholders requirements which are mentioned in the feedback for software products. This paper presents a PhD research agenda and preliminary ... More
Appsent A Tool That Analyzes App ReviewsJul 24 2019Enterprises are always on the lookout for tools that analyze end-users perspectives on their products. In particular, app reviews have been assessed as useful for guiding improvement efforts and software evolution, however, developers find reading app ... More
Efficient Detection and Quantification of Timing Leaks with Neural NetworksJul 23 2019Detection and quantification of information leaks through timing side channels are important to guarantee confidentiality. Although static analysis remains the prevalent approach for detecting timing side channels, it is computationally challenging for ... More
SciPy 1.0--Fundamental Algorithms for Scientific Computing in PythonJul 23 2019SciPy is an open source scientific computing library for the Python programming language. SciPy 1.0 was released in late 2017, about 16 years after the original version 0.1 release. SciPy has become a de facto standard for leveraging scientific algorithms ... More
Proof of Compositionality of CFT CorrectnessJul 23 2019In the paper Compositionality of Component Fault Trees, we present a discussion of the compositionality of correctness of component fault trees. In this technical report, we present the formal proof of the central theorem of the aforementioned publication. ... More
On Using Machine Learning to Identify Knowledge in API Reference DocumentationJul 23 2019Using API reference documentation like JavaDoc is an integral part of software development. Previous research introduced a grounded taxonomy that organizes API documentation knowledge in 12 types, including knowledge about the Functionality, Structure, ... More