The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Teaching programming using Massive Open Online Courses (MOOCs) is gaining popularity due to their scalability and efficiency of knowledge distribution. However, participating in these courses usually means fully committing to the supplied programming environment in the browser. While this allows a consistent and controllable setup, learners do not gain experience with actual development tools, such...
The Kansas City National Security Campus (KCNSC) collects a large amount of test data used to accept high value and high rigor product. Data has been used historically to support root cause analysis when anomalies are detected in down-stream processes (bottom portion of Fig. 1). The opportunity to use the data for predictive failure analysis however, had never been exploited (top portion of Fig. 1)...
Continuous Integration (CI) and Continuous Delivery (CD) are widespread in both industrial and open-source software (OSS) projects. Recent research characterized build failures in CI and identified factors potentially correlated to them. However, most observations and findings of previous work are exclusively based on OSS projects or data from a single industrial organization. This paper provides...
Automated testing in massively multi-player on-line role playing games (MMORPG) is a challenging task due to the complexity of such games and their large numbers of mutually distributed but interacting components. Large-scale multi-agent systems (LSMAS) provide us with a suitable formalism to address such complex problems. Herein a first step towards an automated game testing environment, built for...
Although white-box regression test prioritization has been well-studied, the more recently introduced black-box prioritization approaches have neither been compared against each other nor against more well-established white-box techniques. We present a comprehensive experimental comparison of several test prioritization techniques, including well-established white-box strategies and more recently...
Chaos Engineering is a discipline emerging from the practitioner community around experimenting on a distributed system in order to build confidence in the system’s capability to withstand turbulent conditions in production. This panel will bring together practitioners from a range of technology companies to discuss how they are running experiments on production systems in order to improve reliability.
Continuous deployment is the software engineering practice of deploying many small incremental software updates into production, leading to a continuous stream of 10s, 100s, or even 1,000s of deployments per day. High-profile Internet firms such as Amazon, Etsy, Facebook, Flickr, Google, and Netflix have embraced continuous deployment. However, the practice has not been covered in textbooks and no...
The use of Internet of Things (IoT) devices has grown significantly in the past decade. While IoT is expected to improve life for many by enabling smart living spaces, the number of security risks that consumers and businesses will face is also increasing. A high number of vulnerable IoT devices are prone to attacks and easy exploit. Existing research has focused on security that must be implemented...
New web development technologies enhance functionality of web applications but also introduce challenges in testing the software. As mutation analysis has been shown to be effective at designing tests for traditional software, we previously proposed web mutation testing. However, applying mutation analysis can be computationally expensive due to an extensive number of test requirements. This paper...
Empirical studies have shown that most software interaction faults involve one or two variables interacting, with progressively fewer triggered by three to six variables interacting. This paper introduces a model for the origin of this distribution. We start with two empirically reasonable assumptions regarding the distribution of branch conditions in code and the proportion of t-way combinations...
Cloud specialist Kief Morris joins Software Engineering Radio host Sven Johann to discuss the benefits of infrastructure as code, including security, auditability, testing, documentation, and traceability.
Traditional symbolic execution for testing software focuses on exploring the paths of the program. However, for stateful network protocol, this method is hard to explore all the protocol states. This paper proposes a novel method based on model-guided symbolic execution, which can associate the program paths with the protocol states and utilize the protocol model to guide the test to explore interesting...
Security is often treated as secondary or a non- functional feature of software which influences the approach of vendors and developers when describing their products often in terms of what it can do (Use Cases) or offer customers. However, tides are beginning to change as more experienced customers are beginning to demand for more secure and reliable software giving priority to confidentiality, integrity...
Software testing is an important aspect for the quality of software. Different levels of experience, types of application and needs enforce differences in performing testing activity for same features of applications. Testing as an activity within a development house usually includes testing of recurrent situation e.g., testing of security features etc. Development of a homogeneous test ground requires...
The paper proposes a concept to unify the tools used by software developers. The goal of the paper is to describe a conceptual framework, based on client-server architecture, which aims to simplify the introduction to new development tools for new users. The framework also tries to solve the issue with multiple tools serving the same purpose as well as making the process of switching between these...
Security testing is a pivotal activity in engineering secure software. It consists of two phases: generating attack inputs to test the system, and assessing whether test executions expose any vulnerabilities. The latter phase is known as the security oracle problem. In this work, we present SOFIA, a Security Oracle for SQL-Injection Vulnerabilities. SOFIA is programming-language and source-code independent,...
The software development industry has adopted written and de facto standards for creating effective and maintainable unit tests. Unfortunately, like any other source code artifact, they are often written without conforming to these guidelines, or they may evolve into such a state. In this work, we address a specific type of issues related to unit tests. We seek to automatically uncover violations...
Online auctions are now an immensely popular component of the electronic marketplace. However, there are many fraudulent buying/selling behaviours that can occur during an auction (e.g., shill bidding, bid shielding, etc.). While researchers are proposing methods for combating such fraud, it is extremely difficult to test how effective these countermeasures are. This is primarily due to it being unethical...
In this paper, we consider the structure and main components of the digital radio receiving center in terms of reliability of hardware and software for digital signal processing. We talk about the methods of development, improvement and empowerment of testing tools and diagnostics hardware and software of the radio receiver center. The article presents the basic methods of testing and diagnostics...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.