{"title":"From User Stories to Use Case Scenarios towards a Generative Approach","authors":"Fabian Gilson, Calum Irwin","doi":"10.1109/ASWEC.2018.00016","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00016","url":null,"abstract":"User stories are increasingly adopted as the basis of requirement engineering artefacts in Agile Software Development. Surveys have shown that user stories are perceived as being effective at describing the main goals of a system. But the continuous management of a product backlog may be particularly time-consuming and error-prone, especially when assessing the quality or scope of user stories and keeping an eye on the system's big picture. On the other hand, models have been recognised as effective tools for communication and analysis purposes. In this research, we propose a generative approach to create robustness diagrams, i.e. a form of semi-formal use case scenarios, from the automated analysis of user stories. Stories are transformed into diagrams, enabling requirement engineers and users to validate the main concepts and functional steps behind stories and discover malformed or redundant stories. Such models also open the door for automated systematic analysis.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134348101","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":"ASWEC 2018 Short Research Paper Program Committee","authors":"","doi":"10.1109/aswec.2018.00008","DOIUrl":"https://doi.org/10.1109/aswec.2018.00008","url":null,"abstract":"","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127449545","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":"Driver Generation for Java EE Web Applications","authors":"Jens Dietrich, François Gauthier, P. Krishnan","doi":"10.1109/ASWEC.2018.00024","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00024","url":null,"abstract":"Program analyses typically need to identify a single entry method that triggers program executions. However, many modern applications do not have such a single entry point. Instead, they have to be deployed in a container that interacts with them through an application programming interface (API). We present a tool that generates a driver that supplies such an entry method for Java EE web applications. The generated driver simulates an arbitrary client interacting with the web application through the container. We describe the modular design of the driver generator, and existing support for features like Java server pages, servlets, filters and listeners. We report on our experience of using the driver generator for large real-world web applications.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"64 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114116132","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":"Engineering Interactive Systems with Model-Driven Code Contracts","authors":"Judy Bowen, S. Reeves","doi":"10.1109/ASWEC.2018.00010","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00010","url":null,"abstract":"The use of sound and robust software engineering techniques are essential during the design and development of safety-critical interactive systems. Failure of such systems (such as those found in medical settings or transportation) can lead to serious harm or even fatalities. Model-based development of interactive systems provides a number of benefits which can support correctness of the interface, the interaction and the functional logic of the system. Many different approaches have been proposed which target the models at different aspects of the development process (for example task analysis, interface layouts, functional behaviours etc.) and which can be used in different ways (verification of correctness, usability, testing). Typically these rely on multiple models at differing levels of abstraction. There are challenges in ensuring consistency between the models, and more importantly in ensuring that the final implementation correctly satisfies all of the models. In this paper we propose a method of deriving pre-and post-conditions for both interactive and functional elements of the system from formal models. These are used to generate code contracts within a code framework to support programmers who are implementing the system described in such models. We describe both the process for this and present an initial examination of the applicability of the approach based on a proof-of-concept user study. This small study was intended to examine whether we could correctly derive the code contracts in an automated fashion and whether or not they were usable (and beneficial) for programmers working on a pre-defined task. This initial investigation suggested that such an approach can aid programmers in correctly implementing a specification and that the general approach outlined in the paper is worth developing further.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115030804","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":"Symbolic Execution with Invariant Inlay: Evaluating the Potential","authors":"Eman Alatawi, Tim Miller, H. Søndergaard","doi":"10.1109/ASWEC.2018.00012","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00012","url":null,"abstract":"Dynamic symbolic execution (DSE) is a non-standard execution mechanism which, loosely, executes a program symbolically and, simultaneously, on concrete input. DSE is attractive because of several uses in software engineering, including the generation of test data suites with large coverage relative to test suite size. However, DSE struggles in the face of execution path explosion, and is often unable to cover certain kinds of difficult-to-reach program points. Invariant inlay is a technique that aims to improve a DSE tool by interspersing code with invariants, generated automatically using off-the-shelf tools for static program analysis using abstract interpretation. To capitalise fully on a static analyzer, invariant inlay applies certain instrumentations and testability transformations to the program source. In this paper we outline the invariant inlay approach, and how we have evaluated the idea, in order to determine its usefulness for programs with complex control flow.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122866298","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}
Mohan Baruwal Chhetri, H. Luong, Anton V. Uzunov, Quoc Bao Vo, R. Kowalczyk, S. Nepal, Isuru Rajapakse
{"title":"ADSL: An Embedded Domain-Specific Language for Constraint-Based Distributed Self-Management","authors":"Mohan Baruwal Chhetri, H. Luong, Anton V. Uzunov, Quoc Bao Vo, R. Kowalczyk, S. Nepal, Isuru Rajapakse","doi":"10.1109/ASWEC.2018.00022","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00022","url":null,"abstract":"Resilience is an important property of cyber defence systems operating in complex, adversarial environments. In previous work, we have developed the AWaRE approach for enabling cyber resilience via distributed, agent-oriented, constraint-based self-management. A key requirement and feature of AWaRE is the programmatic definition of constraint problems and their mapping to suitable coordination architectures in a way that supports run-time self-representation and self-organization. This can be satisfied via a domain-specific language (DSL); however, existing DSLs, e.g. for automated deployment and self-adaptivity, are not suitable for this purpose. In this paper, we present an expressive, Java-embedded DSL named ADSL that enables the design-time specification of system components, inter-component relationships and constraints, constraint problem decompositions, managing agent architectures, and sub-problem to agent mappings – and the run-time use of these specifications to achieve self-management in accordance with the models@run.time paradigm. Our initial validation of ADSL in the context of an enterprise scenario demonstrates the suitability of the language.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"PP 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126530470","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":"Revealing Implicit Correspondence between Bytecode Instructions and Expressions Determined by Java Compilers","authors":"I. Kume, Masahide Nakamura, Naoya Nitta","doi":"10.1109/ASWEC.2018.00025","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00025","url":null,"abstract":"Most Java debuggers designate a source code line as the executed part in the source code at each step-by-step execution. Such designation is based on compilation results which give line numbers to byte code instructions executed at debugging. Because a source code line contains many expressions in general, debugger users must simulate microscopic executions of such contained expressions in their mind. This kind of internal simulation is one of the causes of inefficiency at debugging. We aim at supporting an implementation of a feature to designate expressions instead of source code lines. As its first step, we propose a method to examine how a given compiler maps bytecode instructions to expressions. The key idea of our method is to decompose lexical tokens in each expression into different source code lines. Because of the one-to-one correspondence between line numbers and tokens obtained by our decomposition, we can reveal hidden intention of a compiler to map bytecode instructions to expressions. In this paper, we introduce our experimental results to apply our method to Java programs compiled by a standard Java compiler. We discuss the feasibility of our method with respect to our goal, which is an implementation of a feature to designate expressions instead of source code lines.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126765710","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":"Psychologically-Driven Requirements Engineering: A Case Study in Depression Care","authors":"Eman Alatawi, Antonette Mendoza, Tim Miller","doi":"10.1109/ASWEC.2018.00014","DOIUrl":"https://doi.org/10.1109/ASWEC.2018.00014","url":null,"abstract":"Developing software that is accepted by its intended users can be a challenge. It is not only important to facilitate peoples tasks or achieve their functional goals, but also such technology has to meet their values, satisfy their expectations, and encourage them to accept and trust the software. In this paper, we propose a novel psychologically-driven requirements engineering approach that captures and models stakeholders personal values, motivations and emotions. Using a grounded theory approach, we analyze information about stakeholders and the domain, model the results using psychologically-driven goal models, which facilitate the communication with stakeholders, and then we use this model as a basis for engineering concrete requirements. In conjunction with a team of experts on depression care, we evaluated our approach on an application for early diagnosis of depression. Results from our evaluation showed that the consideration of emotions, values, and motivations lead to improved outcomes, and were strongly endorsed by various stakeholders, including users, general practitioners, and psychologists.","PeriodicalId":331846,"journal":{"name":"2018 25th Australasian Software Engineering Conference (ASWEC)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116972455","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}