{"title":"Using Metamorphic Testing to Improve Dynamic Symbolic Execution","authors":"Eman Alatawi, Tim Miller, H. Søndergaard","doi":"10.1109/ASWEC.2015.16","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.16","url":null,"abstract":"Dynamic symbolic execution (DSE) is an approach for automatically generating test inputs from source code using constraint information. It is used in fuzzing: the execution of tests while monitoring for generic properties such as buffer overflows and other security violations. Limitations of DSE for fuzzing are two-fold: (1) only generic properties are checked: many deviations from specified behaviour are not found, and (2) many programs are not entirely amenable to DSE because they give rise to hard constraints, so that some parts of a program remain uncovered. In this paper, we discuss how to mitigate these problems using metamorphic testing (MT). Metamorphic testing uses domain-specific properties about program behaviour, relating pairs of inputs to pairs of outputs. From a given test suite, follow-up tests inputs are generated, and their outputs are compared to outputs from the original tests, using metamorphic relations. Our hypothesis is that using metamorphic testing increases the ability of a DSE test suite to find faults, and that the follow-up tests execute some previously-uncovered segments. We have experimented with seven small but non-trivial libraries, comparing DSE test suites with DSE+MT test suites, demonstrating that DSE+MT test suites improve coverage marginally, but find more faults.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128139493","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automating SmartPhone Automation: Enhancing User Experience with Behaviour Learning","authors":"Dhanish Semar, Ted Chen, Rashina Hoda","doi":"10.1109/ASWEC.2015.22","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.22","url":null,"abstract":"Smart phones nowadays form an integral part of our lives. Their persistent befriending demands frequent interaction not only to use their features but also to interact with phone settings to appropriate them to changing scenarios. Settings-based tasks such as muting sound during meetings while critical are typically tedious and disruptive and can be avoided by automating such tasks. Current smart phone automation apps require configuring explicit rules which users may find gratuitously complicated. Using a User-Centred Design approach, we designed a smart phone automation app which incorporates behaviour pattern recognition and routine learning to achieve intelligent and context-aware automation without overburdening the users. Usability and usefulness evaluations conducted in our study have provided valuable insight into user preferences to guide smart phone automation design. Automating smart phone automation in this way provides freedom from constant manual setting changes and from the overhead of manually configuring automation tools for a more seamless user experience.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130263923","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Lindsay, Sentot Kromodimoeljo, P. Strooper, Mohamed Almorsy
{"title":"Automation of Test Case Generation from Behavior Tree Requirements Models","authors":"P. Lindsay, Sentot Kromodimoeljo, P. Strooper, Mohamed Almorsy","doi":"10.1109/ASWEC.2015.23","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.23","url":null,"abstract":"Behavior Trees (BTs) are a graphical notation for requirements capture that is easier to read than other formal notations, with direct traceability between individual functional requirements and their representation in the BT model. This paper investigates whether this relationship can be extended to generation of test cases, using a symbolic model checker to ensure correctness and completeness of test cases with respect to the model. To do so it was necessary to provide mechanisms for test planner input and to control the combinatorial explosion of test cases that results from models containing parallel behaviour. The result is an automated process for generating a complete set of natural-language test cases, with tracing back to the original requirements and with correctness and completeness guaranteed by the model checker. The approach is demonstrated on an Automated Teller Machine example and then applied to an example from air traffic control in a model with multi-threaded behaviour.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130839506","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Design Patterns for Models of Interactive Systems","authors":"Judy Bowen, S. Reeves","doi":"10.1109/ASWEC.2015.30","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.30","url":null,"abstract":"Building models of safety-critical interactive systems (in healthcare, transport, avionics and finance, to name but a few) as part of the design process is essential. It is also advised for non-safety critical interactive systems if we want to be certain they will behave as intended in all circumstances. However, modelling interactive systems is also challenging. The levels of complexity in modern user interfaces and the wealth of interaction possibilities means that modelling at a suitable level of abstraction is crucial to ensure our models remain reasonably sized, readable, and therefore usable. The decisions we make about how to abstract the system to retain enough detail to be able to reason about it without running into known modelling problems (state-explosion, verbosity, unread ability) are complex, even for experienced modellers. We have identified a number of commonly seen problems in such models based on occurrences of common properties of interactive systems, and in order to help both experienced and novice modellers we propose model-patterns as a solution to this.","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116970438","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Morakot Choetkiertikul, Daniel Avery, K. Dam, T. Tran, A. Ghose
{"title":"Who Will Answer My Question on Stack Overflow?","authors":"Morakot Choetkiertikul, Daniel Avery, K. Dam, T. Tran, A. Ghose","doi":"10.1109/ASWEC.2015.28","DOIUrl":"https://doi.org/10.1109/ASWEC.2015.28","url":null,"abstract":"Stack Overflow is a highly successful Community Question Answering (CQA) service for software developers with more than three millions users and more than ten thousand posts per day. The large volume of questions makes it difficult for users to find questions that they are interested in answering. In this paper, we propose a number of approaches to predict who will answer a new question using the characteristics of the question (i.e. Topic) and users (i.e. Reputation), and the social network of Stack Overflow users (i.e. Interested in the same topic). Specifically, our approach aims to identify a group of users (candidates) who have the potential to answer a new question by using feature-based prediction approach and social network based prediction approach. We develop predictive models to predict whether an identified candidate answers a new question. This prediction helps motivate the knowledge exchanging in the community by routing relevant questions to potential answerers. The evaluation results demonstrate the effectiveness of our predictive models, achieving 44% precision, 59% recall, and 49% F-measure (average across all test sets). In addition, our candidate identification techniques can identify the answerers who actually answer questions up to 12.8% (average across all test sets).","PeriodicalId":310799,"journal":{"name":"2015 24th Australasian Software Engineering Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127634406","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}