{"title":"A Model-Driven Approach for Developing Responsive Web Apps","authors":"João Seixas, André Ribeiro, A. Silva","doi":"10.5220/0007678302570264","DOIUrl":"https://doi.org/10.5220/0007678302570264","url":null,"abstract":"Nowadays users have multiple devices to access a myriad of web and mobile applications. This has increased the importance of developing such applications in a responsive way, i.e. with the ability to seamlessly display their contents on multiple devices. This paper proposes the XIS-Web technology as a model-driven approach focused in the development of responsive web applications. XIS-Web technology includes two main parts: the XIS-Web modeling language, implemented as a UML profile; and the XIS-Web framework, which is a set of integrated software tools. XIS-Web stands out in four key aspects: supports the modeling of web applications around six viewpoints, which ultimately promotes the separation of concerns that is key to managing complexity; generates user-interface models from extended use-case models, relieving this cumbersome and time consuming task from the user; employs latest generation web technologies (such as HTML5, JavaScript, CSS) that allow the required flexibility of developing responsive web applications; and allows the creation of platform-independent models without requiring a significant learning curve. This paper also presents an evaluation conducted in a controlled environment with a group of independent users, and briefly introduces simple case studies.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129814343","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":"Agile Scaled Steps of Doneness: A Standardized Procedure to Conceptualizing and Completing User Stories Across Scrum Teams and Industries","authors":"Matthew Ormsby, Curtis Busby-Earle","doi":"10.1007/978-3-030-40223-5_18","DOIUrl":"https://doi.org/10.1007/978-3-030-40223-5_18","url":null,"abstract":"","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"2001 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125739836","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":"Model-Driven Software Development Combined with Semantic Mutation of UML State Machines","authors":"A. Derezińska, L. Zaremba","doi":"10.1007/978-3-030-40223-5_10","DOIUrl":"https://doi.org/10.1007/978-3-030-40223-5_10","url":null,"abstract":"","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128844071","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":"Mutating UML State Machine Behavior with Semantic Mutation Operators","authors":"A. Derezińska, L. Zaremba","doi":"10.5220/0007735003850393","DOIUrl":"https://doi.org/10.5220/0007735003850393","url":null,"abstract":"In Model-Driven Software Development (MDSD), an application can be built using classes and their state machines as source models. The final application can be tested as any source code. In this paper, we discuss a specific approach to mutation testing in which modifications relate to different variants of behavioural features modelled by UML state machines, while testing deals with standard executions of the final application against its test cases. We have proposed several mutation operators aimed at mutating behaviour of UML state machines. The operators take into account event processing, time management, behaviour of complex states with orthogonal regions, and usage of history pseudostates. Different possible semantic interpretations are associated with each operator. The operators have been implemented in the Framework for eXecutable UML (FXU). The framework, that supports code generation from UML classes and state machines and building target C# applications, has been extended to realize mutation testing with use of multiple libraries. The semantic mutation operators have been verified in some MDSD experiments.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123210317","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}
Maurizio Leotta, Diego Clerissi, Luca Franceschini, Dario Olianas, D. Ancona, F. Ricca, M. Ribaudo
{"title":"Comparing Testing and Runtime Verification of IoT Systems: A Preliminary Evaluation based on a Case Study","authors":"Maurizio Leotta, Diego Clerissi, Luca Franceschini, Dario Olianas, D. Ancona, F. Ricca, M. Ribaudo","doi":"10.5220/0007745604340441","DOIUrl":"https://doi.org/10.5220/0007745604340441","url":null,"abstract":"Assuring the quality of Internet of Things (IoT) systems is of paramount importance, and guaranteeing their reliability and compliance with the requirements is mandatory, but few attempts have been made so far. In previous works, we proposed two approaches for acceptance testing and runtime verification of IoT systems. Both works rely on a UML state machine to specify the system expected behaviour. In the acceptance testing approach, the interesting paths to exercise are identified and translated into executable test scripts. In the runtime verification approach, the relevant events during the system execution are monitored and compared against a formal specification derived from the UML state machine. In this paper, we compare the effectiveness of our two approaches, by applying them to a mobile health IoT system for the management of diabetic patients, employing over 100 mutated versions of the original system and analysing more than 1000 different executions. Results show that both approaches are effective in different ways in detecting bugs. While the acceptance testing approach is more effective to detect the bugs affecting the user interface, the runtime verification approach tracks better the subtle deviations from the system expected behaviour, in particular those concerning network issues.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126022413","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":"Suggesting Software Measurement Plans with Unsupervised Learning Data Analysis","authors":"S. Dahab, S. Maag","doi":"10.5220/0007768101890197","DOIUrl":"https://doi.org/10.5220/0007768101890197","url":null,"abstract":"Software measurement processes require to consider more and more data, measures and metrics. Measurement plans become complex, time and resource consuming, considering diverse kinds of software project phases. Experts in charge of defining the measurement plans have to deal with management and performance constraints to select the relevant metrics. They need to take into account a huge number of data though distributed processes. Formal models and standards have been standardized to facilitate some of these aspects. However, the maintainability of the measurements activities is still constituted of complex activities. In this paper, we aim at improving our previous work, which aims at reducing the number of needed software metrics when executing measurement process and reducing the expertise charge. Based on unsupervised learning algorithm, our objective is to suggest software measurement plans at runtime and to apply them iteratively. For that purpose, we propose to generate automatically analysis models using unsupervised learning approach in order to efficiently manage the efforts, time and resources of the experts. An implementation has been done and integrated on an industrial platform. Experiments are processed to show the scalability and effectiveness of our approach. Discussions about the results have been provided. Furthermore, we demonstrate that the measurement process performance could be optimized while being effective , more accurate and faster with reduced expert intervention","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121711190","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}
Angelos Chatzimparmpas, S. Bibi, Ioannis Zozas, A. Kerren
{"title":"Analyzing the Evolution of Javascript Applications","authors":"Angelos Chatzimparmpas, S. Bibi, Ioannis Zozas, A. Kerren","doi":"10.5220/0007727603590366","DOIUrl":"https://doi.org/10.5220/0007727603590366","url":null,"abstract":"Software evolution analysis can shed light on various aspects of software development and maintenance. Up to date, there is little empirical evidence on the evolution of JavaScript (JS) applications in terms of maintainability and changeability, even though JavaScript is among the most popular scripting languages for front-end web applications, including IoT applications. In this study, we investigate JS applications’ quality and changeability trends over time by examining the relevant Laws of Lehman. We analyzed over 7,500 releases of JS applications and reached some interesting conclusions. The results show that JS applications continuously change and grow, there are no clear signs of quality degradation while the complexity remains the same over time, despite the fact that the understandability of the code deteriorates.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132233342","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":"Hammock-based Identification of Changes in Advice Applications between Aspect-oriented Programs","authors":"Marija Katic","doi":"10.5220/0007747504420451","DOIUrl":"https://doi.org/10.5220/0007747504420451","url":null,"abstract":"In an aspect-oriented program, the cross-cutting functionalities are defined in pieces of advice such that they apply to program-execution points for the core functionalities. Program changes can affect the application of pieces of advice. To that end, a source-code differencing tool, for two versions of an aspect-oriented program, needs to support the identification of changes in pieces of advice at locations of their applications. To alleviate this task, we introduce an extension of the existing differencing technique for object-oriented programs. We implemented a tool AjDiff and used it to evaluate our technique on the two examples of aspect-oriented programs: Tracing and Telecom. We manually verified that our tool can successfully identify changes in pieces of advice at locations of their application.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125347447","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":"Refactoring Misuse Case Diagrams using Model Transformation","authors":"M. El-Attar, N. Nasser","doi":"10.5220/0007675502490256","DOIUrl":"https://doi.org/10.5220/0007675502490256","url":null,"abstract":"Secure software engineering entails that security concerns needs to be considered from the early phases of development, as early as the requirements engineering phase. Misuse cases is a well-known security analysis and specifications techniques, based on the popular use case modeling technique, that takes place in the requirements engineering phase. Similar to use case modeling, misuse case modellers are prone to committing modeling mistakes and applying antipatterns. As a result, misuse case models need to be analysed to determine if they contain fallacious design decisions. Changes, known as refactoring, to the misuse case diagrams are then required to remedy any design issues and such changes which would normally be manually applied. However, manual application of such changes in misuse case models are prone to human error, further compounding the design issues in a given misuse case model. To this end, this paper presents a model transformation approach to systematically apply changes to misuse case models. A case study related to a book store is presented to illustrate the application and feasibility of the approach.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"250 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126459945","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":"From Requirements to Automated Acceptance Tests of Interactive Apps: An Integrated Model-based Testing Approach","authors":"Daniel Maciel, A. C. Paiva, A. Silva","doi":"10.5220/0007679202650272","DOIUrl":"https://doi.org/10.5220/0007679202650272","url":null,"abstract":"Frequently software testing tends to be neglected at the beginning of the projects, only performed on the late stage. However, it is possible to benefit from combining requirement with testing specification activities. On one hand, acceptance tests specification will require less manual effort since they are defined or generated automatically from the requirements specification. On the other hand, the requirements specification itself will end up having higher quality due to the use of a more structured language, reducing typical problems such as ambiguity, inconsistency and incorrectness. This research proposes an approach that promotes the practice of tests specification since the very beginning of projects, and its integration with the requirements specification itself. It is a model-driven approach that contributes to maintain the requirements and tests alignment, namely between requirements, test cases, and low-level automated test scripts. To show the applicability of the approach, two complementary languages are adopted: the ITLingo RSL that is particularly designed to support both requirements and tests specification; and the Robot language, which is a low-level keyword-based language for the specification of test scripts. The approach includes model-to-model transformation techniques, such as test cases into test scripts transformations. In addition, these test scripts are executed by the Robot test automation framework.","PeriodicalId":420861,"journal":{"name":"International Conference on Evaluation of Novel Approaches to Software Engineering","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133642836","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}