Welcome to the 13th edition of the IEEE/ACM Workshop on Automation of Software Test (AST). Software testing is an integral part of the software engineering discipline. Effective and efficient testing with reduced costs and a high fault detection capability is the desirable goal in industry which can be achieved only through automation of all parts of the testing process. In the past decades, a great amount of research effort has been spent on automating all various parts of the testing process such as test case derivation, test selection, test oracle construction, test execution, and others. In addition there has been a rapid growth in automated software testing tools which is stimulated in part through the shift towards agile development practices in industry that demands a high level of automation. Work on this topic has long been published as an important part of software engineering. In recent years, testing has been consistently among the top-most popular topics in submissions to software engineering conferences. The practice of software test automation (TA) has also moved forward significantly in the past few years. However, progress in TA is still required. Software systems have become more and more complicated through the integration of components developed by different vendors and using different techniques in different programming languages running on different platforms. The advent of cloud computing, mobile computing and the Internet of Things has imposed grave new challenges to TA. Those systems become increasingly reactive to changes in their environment, requiring equally adaptive TA approaches. Few software testing tools can currently handle the needed requirements to test such systems.
This year's theme of AST is on Test Automation (TA) for and with Artificial Intelligence (AI). AI techniques have recently gained much attention from both the research and industry community which can be witnessed from heated talks on self-driving cars, robot controlled warehouses and other AI enhanced applications. Research in TA must catch up to this trend by developing technologies to test AI systems, as well as applying AI technologies in TA itself which could push automation further. To keep up with the recent surge of interest in AI in academia and industry, it is timely to review the current practices and understand the challenges confronting practitioners when testing AI software systems. This workshop aims at bridging the gap between theory and practice in order to improve the current state of practice and to foster innovative research in the area. The workshop targets solid ongoing work that is already producing notable results.
Proceeding Downloads
Software testing as a problem of machine learning: towards a foundation on computational learning theory (extended abstract of keynote speech)
In recent years, the application of machine learning techniques to software testing has been an active research area. Among the most notable work reported in the literature are those experiments on the uses of supervised and semi-supervised learning ...
An automated model-based test oracle for access control systems
In the context of XACML-based access control systems, an intensive testing activity is among the most adopted means to assure that sensible information or resources are correctly accessed. Unfortunately, it requires a huge effort for manual inspection ...
Testing service oriented architectures using stateful service visualization via machine learning
Today's enterprise software systems are much complicated than the past. Increasing number of dependent applications, heterogeneous technologies and wide usage of Service Oriented Architectures (SOA), where numerous services communicate with each other, ...
Revisiting AI and testing methods to infer FSM models of black-box systems
Machine learning in the form of inference of state machine models has gained popularity in model-based testing as a means of retrieving models from software systems. By combining an old idea from machine inference with methods from automata testing in a ...
Planning-based security testing of web applications
Web applications are deployed on machines around the globe and offer almost universal accessibility. The systems ensure functional interconnectivity between different components on a 24/7 basis. One of the most important requirements represents data ...
Sentinel: generating GUI tests for Android sensor leaks
Due to the widespread use of Android devices and apps, it is important to develop tools and techniques to improve app quality and performance. Our work focuses on a problem related to hardware sensors on Android devices: the failure to disable unneeded ...
On the effectiveness of random testing for Android: or how i learned to stop worrying and love the monkey
Random testing of Android apps is attractive due to ease-of-use and scalability, but its effectiveness could be questioned. Prior studies have shown that Monkey - a simple approach and tool for random testing of Android apps - is surprisingly effective, ...
Towards software-defined and self-driving cloud infrastructure: extended abstract
Traditionally, people abstract away the infrastructure operation, such as power management, network traffic engineering and even the "cloud computing" layers from software developers. This abstraction brings easier application development and ...
Improving continuous integration with similarity-based test case selection
Automated testing is an essential component of Continuous Integration (CI) and Delivery (CD), such as scheduling automated test sessions on overnight builds. That allows stakeholders to execute entire test suites and achieve exhaustive test coverage, ...
Memory corruption detecting method using static variables and dynamic memory usage
Memory fault detection has been continuously studied and various detection methods exist. However, there are still remains many memory defects that are difficult to debug. Memory corruption is one of those defects that often cause a system crash. ...
Guided test case generation through AI enabled output space exploration
Black-box software testing is a crucial part of quality assurance for industrial products. To verify the reliable behavior of software intensive systems, testing needs to ensure that the system produces the correct outputs from a variety of inputs. Even ...
Using controlled numbers of real faults and mutants to empirically evaluate coverage-based test case prioritization
Used to establish confidence in the correctness of evolving software, regression testing is an important, yet costly, task. Test case prioritization enables the rapid detection of faults during regression testing by reordering the test suite so that ...
Test suite reduction for self-organizing systems: a mutation-based approach
We study regression testing and test suite reduction for self-organizing (SO) systems. The complex environments of SO systems typically require large test suites. The physical distribution of their components and their history-dependent behavior, ...
Index Terms
- Proceedings of the 13th International Workshop on Automation of Software Test