Hippo: A formal-model execution engine to control and verify critical real-time systems
The design of embedded real-time systems requires specific toolchains to guarantee time constraints and safe behavior. These tools and their artifacts need to be managed in a coherent way all along the design process and need to ...
Highlights
- Formal extension of the Fiacre specification language with executable features.
Enhancing the analysis of software failures in cloud computing systems with deep learning
Identifying the failure modes of cloud computing systems is a difficult and time-consuming task, due to the growing complexity of such systems, and the large volume and noisiness of failure data. This paper presents a novel approach ...
Highlights
- The approach aids to develop the fault-tolerance mechanisms in the cloud systems.
SeCNN: A semantic CNN parser for code comment generation
A code comment generation system can summarize the semantic information of source code and generate a natural language description, which can help developers comprehend programs and reduce time cost spent during software maintenance. ...
Highlights
- We propose a novel method SeCNN to generate code comments for Java methods.
- We ...
Error messages in relational database management systems: A comparison of effectiveness, usefulness, and user confidence
The database and the database management system (DBMS) are two of the main components of any information system. Structured Query Language (SQL) is the most popular query language for retrieving data from the database, as well as for ...
Highlights
- Database management systems have different error messages.
- Some systems have ...
Architecture information communication in two OSS projects: The why, who, when, and what
Architecture information is vital for Open Source Software (OSS) development, and mailing list is one of the widely used channels for developers to share and communicate architecture information. This work investigates the nature of ...
Highlights
- We analyzed architecture communication in two long running OSS projects.
- We ...
Investigating the performance of personalized models for software defect prediction
Software defect predictors exploring developer perspective reveal that code changes made by separate developers tend to have different defect patterns. Personalized defect prediction also contributes to this view and gives promising ...
Highlights
- A comprehensive investigation of change-level personalized defect prediction models.
Comparison of search strategies for feature location in software models
Search-based model-driven engineering is the application of search-based techniques to specific problems that are related to software engineering that is driven using software models. In this work, we make use of measures from the ...
Highlights
- We analyze impact of measures for feature location in models on search strategies.
The ratio of equivalent mutants: A key to analyzing mutation equivalence
Mutation testing is the art of generating syntactic versions (called mutants) of a base program, and is widely used in software testing, most notably the assessment of test suites. Mutants are useful only to the extent that they are ...
Highlights
- The REM of a program can be estimated by evaluating its level of redundancy.
- ...
How to identify class comment types? A multi-language approach for class comment classification
Most software maintenance and evolution tasks require developers to understand the source code of their software systems. Software developers usually inspect class comments to gain knowledge about program behavior, regardless of the ...
Highlights
- Developers embed from high-level overview to low-level details in class comments.
Automated identification of security discussions in microservices systems: Industrial surveys and experiments
- Ali Rezaei Nasab,
- Mojtaba Shahin,
- Peng Liang,
- Mohammad Ehsan Basiri,
- Seyed Ali Hoseyni Raviz,
- Hourieh Khalajzadeh,
- Muhammad Waseem,
- Amineh Naseri
Lack of awareness and knowledge of microservices-specific security challenges and solutions often leads to ill-informed security decisions in microservices system development. We claim that identifying and leveraging security ...
Highlights
- Gain insights into how practitioners perceive security in microservices systems.
Automated refactoring of legacy JavaScript code to ES6 modules
The JavaScript language did not specify, until ECMAScript 6 (ES6), native features for streamlining encapsulation and modularity. Developer community filled the gap with a proliferation of design patterns and module formats, with ...
Highlights
- We study the automated migration of legacy JavaScript code to ES6.
- We refactor ...
Systematic literature review of validation methods for AI systems
Artificial intelligence (AI) has made its way into everyday activities, particularly through new techniques such as machine learning (ML). These techniques are implementable with little domain knowledge. This, ...
Highlights
- Research on practical AI is increasing in wide variety of domains.
- A taxonomy ...
Improved retrieval of programming solutions with code examples using a multi-featured score
- Rodrigo F. Silva,
- Mohammad Masudur Rahman,
- Carlos Eduardo Dantas,
- Chanchal Roy,
- Foutse Khomh,
- Marcelo A. Maia
Developers often depend on code search engines to obtain solutions for their programming tasks. However, finding an expected solution containing code examples along with their explanations is challenging due to several issues. There is ...
Highlights
- Social features can improve the ranking of candidate answers.
- The proposed ...
Improving observability in Event Sourcing systems
Event Sourcing (ES) systems use an event log with the double purpose of keeping application state and providing decoupled communication. While ES systems keep track of all business events, other untracked events, either from internal ...
Highlights
- Event Sourcing has the double purpose of keeping application state and providing decoupling between modules.
Targeting uncertainty in smart CPS by confidence-based logic
- Tomáš Bureš,
- Petr Hnětynka,
- František Plášil,
- Dominik Škoda,
- Jan Kofroň,
- Rima Al Ali,
- Ilias Gerostathopoulos
Since Smart Cyber–Physical Systems (sCPS) are complex and decentralized systems of dynamically cooperating components, architecture-based adaptation is of high importance in their design. In this context, a key challenge is that they ...
Highlights
- Architecture-based adaptation of smart CPS operating in uncertain environments.
A parallel worklist algorithm and its exploration heuristics for static modular analyses
One way to speed up static programme analysis is to make use of today’s multi-core CPUs by parallelising the analysis. Existing work on parallel analysis usually targets traditional data-flow analyses for static, first-order languages ...
Highlights
- We present a parallel worklist algorithm to drive modular static analyses.
- We ...
Practical heuristics to improve precision for erroneous function argument swapping detection in C and C++
Argument selection defects, in which the programmer chooses the wrong argument to pass to a parameter from a potential set of arguments in a function call, is a widely investigated problem. The compiler can detect such misuse of ...
Practical hybrid confidentiality-based analytics framework with Intel SGX
Massive cloud infrastructure capabilities, including efficient, scalable, and elastic computing resources, have led to a widespread adoption of Internet of Things (IoT) cloud-enabled services. This involves giving complete control to ...
Highlights
- The paper proposes a hybrid confidentiality-based analytic framework in the cloud.
Stability evaluation for text localization systems via metamorphic testing
The success of learning techniques in solving a variety of hard AI problems promotes the flourish of recognition-based applications. Many state-of-the-art text localization systems, which can detect and report the positions of text ...
Highlights
- Stability for quality evaluation of text localization systems.
- Design problem-...
MeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation
Software testing depends on effective oracles. Implicit oracles, such as checks for program crashes, are widely applicable but narrow in scope. Oracles based on formal specifications can reveal application-specific failures, but ...
Highlights
- Automatically deriving metamorphic relations is relevant for software testing.
- ...