Latest in

total 3183took 0.24s
Cognitive Business Process Management for Adaptive Cyber-Physical ProcessesFeb 08 2018In the era of Big Data and Internet-of-Things (IoT), all real-world environments are gradually becoming cyber-physical (e.g., emergency management, healthcare, smart manufacturing, etc.), with the presence of connected devices and embedded ICT systems ... More
Usage and Attribution of Stack Overflow Code Snippets in GitHub ProjectsFeb 08 2018Stack Overflow (SO) is the largest Q&A website for software developers, providing a huge amount of copyable code snippets. Using those snippets raises maintenance and legal issues. SO's license (CC BY-SA 3.0) requires attribution, i.e., referencing the ... More
Gamification: a Game Changer for Managing Technical Debt? A Design StudyFeb 08 2018Context: Technical debt management is challenging for software engineers due to poor tool support and a lack of knowledge on how to prioritize technical debt repayment and prevention activities. Furthermore, when there is a large backlog of debt, developers ... More
A Patterns Based Approach for Design of Educational TechnologiesFeb 07 2018Instructional design is a fundamental base for educational technologies as it lays the foundation to facilitate learning and teaching based on pedagogical underpinnings. However, most of the educational technologies today face two core challenges in this ... More
Blueprint and Evaluation Instruments for a Course on Software Engineering for SustainabilityFeb 07 2018We report on a summer school course on Software Engineering for Sustainability (SE4S). We provide a detailed blueprint of the contents taught and its evaluation with the instruments that were used.
Experience Report: Formal Methods in Material ScienceFeb 07 2018Increased demands in the field of scientific computation require that algorithms be more efficiently implemented. Maintaining correctness in addition to efficiency is a challenge that software engineers in the field have to face. In this report we share ... More
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsFeb 07 2018It is common practice for developers of user-facing software to transform a mock-up of a graphical user interface (GUI) into code. This process takes place both at an application's inception and in an evolutionary context as GUI changes keep pace with ... More
DeepRoad: GAN-based Metamorphic Autonomous Driving System TestingFeb 07 2018While Deep Neural Networks (DNNs) have established the fundamentals of DNN-based autonomous driving systems, they may exhibit erroneous behaviors and cause fatal accidents. To resolve the safety issues of autonomous driving systems, a recent set of testing ... More
On Decision Support for Remote Industrial Facilities using the Collaborative Engineering FrameworkFeb 06 2018Means to support collaboration for remote industrial facilities such as mining are an important topic, especially in Australia, where major mining sites can be more than a thousand kilometers from population centres. Software-based collaboration and maintenance ... More
Alternative Spreadsheet Model Designs for an Operations Management Model Embedded in a Periodic Business ProcessFeb 01 2018We present a widely-used operations management model used in supply and distribution planning, that is typically embedded in a periodic business process that necessitates model modification and reuse. We consider three alternative spreadsheet implementations, ... More
Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4JJan 19 2018Feb 05 2018Well-designed and publicly available datasets of bugs are an invaluable asset to advance research fields such as fault localization and program repair as they allow directly and fairly comparison between competing techniques and also the replication of ... More
Mining Android App Usages for Generating Actionable GUI-based Execution ScenariosJan 19 2018GUI-based models extracted from Android app execution traces, events, or source code can be extremely useful for challenging tasks such as the generation of scenarios or test cases. However, extracting effective models can be an expensive process. Moreover, ... More
How do Developers Test Android Applications?Jan 19 2018Enabling fully automated testing of mobile applications has recently become an important topic of study for both researchers and practitioners. A plethora of tools and approaches have been proposed to aid mobile developers both by augmenting manual testing ... More
Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App TestingJan 19 2018Mobile app development involves a unique set of challenges including device fragmentation and rapidly evolving platforms, making testing a difficult task. The design space for a comprehensive mobile testing strategy includes features, inputs, potential ... More
Challenges of the Dynamic Detection of Functionally Similar Code FragmentsJan 18 2018Classic clone detection approaches are hardly capable of finding redundant code that has been developed independently, i.e., is not the result of copy&paste. To automatically detect such functionally similar code of independent origin, we experimented ... More
FUSION: A Tool for Facilitating and Augmenting Android Bug ReportingJan 18 2018As the popularity of mobile smart devices continues to climb the complexity of "apps" continues to increase, making the development and maintenance process challenging. Current bug tracking systems lack key features to effectively support construction ... More
Fixing Bug Reporting for Mobile and GUI-Based ApplicationsJan 18 2018Smartphones and tablets have established themselves as mainstays in the modern computing landscape. It is conceivable that in the near future such devices may supplant laptops and desktops, becoming many users primary means of carrying out typical computer ... More
CrashScope: A Practical Tool for Automated Testing of Android ApplicationsJan 18 2018Unique challenges arise when testing mobile applications due to their prevailing event-driven nature and complex contextual features (e.g. sensors, notifications). Current automated input generation approaches for Android apps are typically not practical ... More
Enhancing Bug Reports for Mobile AppsJan 18 2018The modern software development landscape has seen a shift in focus toward mobile applications as "smart" devices near ubiquitous adoption. Due to this trend, the complexity of mobile applications has been increasing, making development and maintenance ... More
On-Device Bug Reporting for Android ApplicationsJan 18 2018Bugs that surface in mobile applications can be difficult to reproduce and fix due to several confounding factors including the highly GUI-driven nature of mobile apps, varying contextual states, differing platform versions and device fragmentation. It ... More
A Large-Scale Empirical Comparison of Static and Dynamic Test Case Prioritization TechniquesJan 18 2018The large body of existing research in Test Case Prioritization (TCP) techniques, can be broadly classified into two categories: dynamic techniques (that rely on run-time execution information) and static techniques (that operate directly on source and ... More
Model Checking in multiplayer games developmentDec 04 2017Multiplayer computer games play a big role in the ever-growing entertainment industry. Being competitive in this industry means releasing the best possible software, and reliability is a key feature to win the market. Computer games are also actively ... More
Can clone detection support quality assessments of requirements specifications?Nov 15 2017Due to their pivotal role in software engineering, considerable effort is spent on the quality assurance of software requirements specifications. As they are mainly described in natural language, relatively few means of automated quality assessment exist. ... More
Teaching Programming and Design-by-ContractOct 22 2017This paper summarizes the experience of teaching an introductory course to programming by using a correctness by construction approach at Innopolis University, Russian Federation. We discuss the data supporting the idea that a division in beginner and ... More
ACCBench: A Framework for Comparing Causality AlgorithmsOct 10 2017Modern socio-technical systems are increasingly complex. A fundamental problem is that the borders of such systems are often not well-defined a-priori, which among other problems can lead to unwanted behavior during runtime. Ideally, unwanted behavior ... More
Expressing and verifying embedded software requirementsOct 08 2017Writing requirements for embedded software is pointless unless they reflect actual needs and the final software implements them. In usual approaches, the use of different notations for requirements (often natural language) and code (a programming language) ... More
Domain Objects and Microservices for Systems Development: a roadmapSep 29 2017This paper discusses a roadmap to investigate Domain Objects being an adequate formalism to capture the peculiarity of microservice architecture, and to support Software development since the early stages. It provides a survey of both Microservices and ... More
Designing a Framework for Smart IoT AdaptationsSep 25 2017The Internet of Things (IoT) is the science of connecting multiple devices that coordinate to provide the service in question. IoT environments are complex, dynamic, rapidly changing and resource constrained. Therefore, proactively adapting devices to ... More
Searching for test data with feature diversitySep 18 2017There is an implicit assumption in software testing that more diverse and varied test data is needed for effective testing and to achieve different types and levels of coverage. Generic approaches based on information theory to measure and thus, implicitly, ... More
Joining Jolie to Docker - Orchestration of Microservices on a Containers-as-a-Service LayerSep 17 2017Cloud computing is steadily growing and, as IaaS vendors have started to offer pay-as-you-go billing policies, it is fundamental to achieve as much elasticity as possible, avoiding over-provisioning that would imply higher costs. In this paper, we briefly ... More
A Remote Interface for Live Interaction with OMNeT++ SimulationsSep 08 2017Discrete event simulators, such as OMNeT++, provide fast and convenient methods for the assessment of algorithms and protocols, especially in the context of wired and wireless networks. Usually, simulation parameters such as topology and traffic patterns ... More
Abstractness, specificity, and complexity in software designSep 05 2017Abstraction is one of the fundamental concepts of software design. Consequently, the determination of an appropriate abstraction level for the multitude of artefacts that form a software system is an integral part of software engineering. However, the ... More
Should I Stay or Should I Go? On Forces that Drive and Prevent MBSE Adoption in the Embedded Systems IndustrySep 01 2017[Context] Model-based Systems Engineering (MBSE) comprises a set of models and techniques that is often suggested as solution to cope with the challenges of engineering complex systems. Although many practitioners agree with the arguments on the potential ... More
A Survey of Runtime Monitoring Instrumentation TechniquesAug 24 2017Runtime Monitoring is a lightweight and dynamic verification technique that involves observing the internal operations of a software system and/or its interactions with other external entities, with the aim of determining whether the system satisfies ... More
Coordination of Dynamic Software Components with JavaBIPJul 31 2017Aug 15 2017JavaBIP allows the coordination of software components by clearly separating the functional and coordination aspects of the system behavior. JavaBIP implements the principles of the BIP component framework rooted in rigorous operational semantics. Recent ... More
Enabling Mutation Testing for Android AppsJul 27 2017Aug 01 2017Mutation testing has been widely used to assess the fault-detection effectiveness of a test suite, as well as to guide test case generation or prioritization. Empirical studies have shown that, while mutants are generally representative of real faults, ... More
An Activity-Based Quality Model for MaintainabilityJul 26 2017Maintainability is a key quality attribute of successful software systems. However, its management in practice is still problematic. Currently, there is no comprehensive basis for assessing and improving the maintainability of software systems. Quality ... More
Functional Requirements-Based Automated Testing for AvionicsJul 05 2017We propose and demonstrate a method for the reduction of testing effort in safety-critical software development using DO-178 guidance. We achieve this through the application of Bounded Model Checking (BMC) to formal low-level requirements, in order to ... More
Microservices Science and EngineeringJun 22 2017In this paper we offer an overview on the topic of Microservices Science and Engineering (MSE) and we provide a collection of bibliographic references and links relevant to understand an emerging field. We try to clarify some misunderstandings related ... More
Self-adaptive node-based PCA encodingsJun 16 2017In this paper we propose an algorithm, Simple Hebbian PCA, and prove that it is able to calculate the principal component analysis (PCA) in a distributed fashion across nodes. It simplifies existing network structures by removing intralayer weights, essentially ... More
Translating Event-B machines to Eiffel programsJun 14 2017Formal modelling languages play a key role in the development of software since they enable users to prove correctness of system properties. However, there is still not a clear understanding on how to map a formal model to a specific programming language. ... More
Automatically Discovering, Reporting and Reproducing Android Application CrashesJun 04 2017Mobile developers face unique challenges when detecting and reporting crashes in apps due to their prevailing GUI event-driven nature and additional sources of inputs (e.g., sensor readings). To support developers in these tasks, we introduce a novel, ... More
Enhancing Android Application Bug ReportingJun 04 2017The modern software development landscape has seen a shift in focus toward mobile applications as smartphones and tablets near ubiquitous adoption. Due to this trend, the complexity of these "apps" has been increasing, making development and maintenance ... More
Evaluating XMPP Communication in IEC 61499-based Distributed Energy ApplicationsMay 15 2017The IEC 61499 reference model provides an international standard developed specifically for supporting the creation of distributed event-based automation systems. Functionality is abstracted into function blocks which can be coded graphically as well ... More
Auto-completing Bug Reports for Android ApplicationsMay 11 2017The modern software development landscape has seen a shift in focus toward mobile applications as tablets and smartphones near ubiquitous adoption. Due to this trend, the complexity of these apps has been increasing, making development and maintenance ... More
Report on the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4)May 07 2017May 18 2017This report records and discusses the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4). The report includes a description of the keynote presentation of the workshop, the mission and vision statements that were drafted ... More
Rationale in Development Chat Messages: An Exploratory StudyApr 27 2017Chat messages of development teams play an increasingly significant role in software development, having replaced emails in some cases. Chat messages contain information about discussed issues, considered alternatives and argumentation leading to the ... More
Microservices: a Language-based ApproachApr 26 2017Microservices is an emerging development paradigm where software is obtained by composing autonomous entities, called (micro)services. However, microservice systems are currently developed using general-purpose programming languages that do not provide ... More
Initial steps towards assessing the usability of a verification toolApr 17 2017Jun 19 2017In this paper we report the experience of using AutoProof to statically verify a small object oriented program. We identified the problems that emerged by this activity and we classified them according to their nature. In particular, we distinguish between ... More
A contract-based method to specify stimulus-response requirementsApr 17 2017A number of formal methods exist for capturing stimulus-response requirements in a declarative form. Someone yet needs to translate the resulting declarative statements into imperative programs. The present article describes a method for specification ... More
Microservices: Migration of a Mission Critical SystemApr 13 2017The microservices paradigm aims at changing the way in which software is perceived, conceived and designed. One of the foundational characteristics of this new promising paradigm, compared for instance to monolithic architectures, is scalability. In this ... More
Blockchains for Business Process Management - Challenges and OpportunitiesApr 12 2017Jan 31 2018Blockchain technology promises a sizable potential for executing inter-organizational business processes without requiring a central party serving as a single point of trust (and failure). This paper analyzes its impact on business process management ... More
A Conceptual Model for Measuring the Complexity of SpreadsheetsApr 04 2017Spreadsheets are widely used in industry, even for critical business processes. This implies the need for proper risk assessment in spreadsheets to evaluate the reliability and validity of the spreadsheet's outcome. As related research has shown, the ... More
The Eclipse Integrated Computational EnvironmentMar 31 2017Jun 11 2017Problems in modeling and simulation require significantly different workflow management technologies than standard grid-based workflow management systems. Computational scientists typically interact with simulation software in a feedback driven way were ... More
The pragmatics of clone detection and eliminationMar 31 2017The occurrence of similar code, or `code clones', can make program code difficult to read, modify and maintain. This paper describes industrial case studies of clone detection and elimination using a refactoring and clone detection tool. We discuss how ... More
Verified type checker for Jolie programming languageMar 15 2017Mar 23 2017Jolie is a service-oriented programming language which comes with the formal specification of its type system. However, there is no tool to ensure that programs in Jolie are well-typed. In this paper we provide the results of building a type checker for ... More
Designing a pi-based Programming Language in the .NET framework: CLR interoperability from the Programmer's point of viewMar 15 2017Interoperability is the ability of a programming language to work with systems based on different languages and paradigms. These days, many widely used high-level language impementations provide access to external functionalities. In this paper, we present ... More
Customising Agent Based Analysis Towards Analysis of Disaster Management KnowledgeFeb 26 2017In developed countries such as Australia, for recurring disasters (e.g. floods), there are dedicated document repositories of Disaster Management Plans (DISPLANs), and supporting doctrine and processes that are used to prepare organisations and communities ... More
McFSM: Globally Taming Complex SystemsFeb 25 2017Industrial computing devices, in particular cyber-physical, real-time and safety-critical systems, focus on reacting to external events and the need to cooperate with other devices to create a functional system. They are often implemented with languages ... More
Microservices: How To Make Your Application ScaleFeb 23 2017The microservice architecture is a style inspired by service-oriented computing that has recently started gaining popularity and that promises to change the way in which software is perceived, conceived and designed. In this paper, we describe the main ... More
Jolie Static Type Checker: a prototypeFeb 23 2017Oct 18 2017Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both ... More
An architecture for non-invasive software measurementFeb 23 2017Analysis of data related to software development helps to increase quality, control and predictability of software development processes and products.However, collecting such data for is a complex task. A non-invasive collection of software metrics is ... More
One evaluation of model-based testing and its automationJan 24 2017Model-based testing relies on behavior models for the generation of model traces: input and expected output---test cases---for an implementation. We use the case study of an automotive network controller to assess different test suites in terms of error ... More
Do Code Clones Matter?Jan 19 2017Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone detection, has been a ... More
Towards a Semantics-Aware Code Transformation Toolchain for Heterogeneous SystemsJan 12 2017Obtaining good performance when programming heterogeneous computing platforms poses significant challenges. We present a program transformation environment, implemented in Haskell, where architecture-agnostic scientific C code with semantic annotations ... More
A Comprehensive Model of UsabilityDec 14 2016Usability is a key quality attribute of successful software systems. Unfortunately, there is no common understanding of the factors influencing usability and their interrelations. Hence, the lack of a comprehensive basis for designing, analyzing, and ... More
Detecting Plagiarism based on the Creation ProcessDec 10 2016Jul 19 2017All methodologies for detecting plagiarism to date have focused on the final digital "outcome", such as a document or source code. Our novel approach takes the creation process into account using logged events collected by special software or by the macro ... More
Spatio-temporal Models for Formal Analysis and Property-based TestingDec 06 2016This paper presents our ongoing work on spatio-temporal models for formal analysis and property-based testing. Our proposed framework aims at reducing the impedance mismatch between formal methods and practitioners. We introduce a set of formal methods ... More
Model-based generation of natural language specificationsDec 06 2016Application of formal models provides many benefits for the software and system development, however, the learning curve of formal languages could be a critical factor for an industrial project. Thus, a natural language specification that reflects all ... More
Managing Usability and Reliability Aspects in Cloud ComputingDec 06 2016Cloud computing provides a great opportunity for scientists, as it enables large-scale experiments that cannot are too long to run on local desktop machines. Cloud-based computations can be highly parallel, long running and data-intensive, which is desirable ... More
Towards a Step Semantics for Story-Driven ModellingDec 06 2016Graph Transformation (GraTra) provides a formal, declarative means of specifying model transformation. In practice, GraTra rule applications are often programmed via an additional language with which the order of rule applications can be suitably controlled. ... More
An EMOF-Compliant Abstract Syntax for BigraphsDec 06 2016Bigraphs are an emerging modeling formalism for structures in ubiquitous computing. Besides an algebraic notation, which can be adopted to provide an algebraic syntax for bigraphs, the bigraphical theory introduces a visual concrete syntax which is intuitive ... More
Type Annotation for Adaptive SystemsDec 06 2016We introduce type annotations as a flexible typing mechanism for graph systems and discuss their advantages with respect to classical typing based on graph morphisms. In this approach the type system is incorporated with the graph and elements can adapt ... More
Automated Inference of Software Library Usage PatternsDec 06 2016Modern software systems are increasingly dependent on third-party libraries. It is widely recognized that using mature and well-tested third-party libraries can improve developers' productivity, reduce time-to-market, and produce more reliable software. ... More
Privacy PatternsDec 05 2016Inspired by the design patterns of object-oriented software architecture, we offer an initial set of "privacy patterns". Our intent is to describe the most important ways in which software systems can offer privacy to their stakeholders. We express our ... More
In Quest for Proper Mediums for Technology Transfer in Software EngineeringDec 05 2016Successful transfer of the results of research projects into practice is of great interest to all project participants. It can be assumed that different transfer mediums fulfill technology transfer (TT) with different levels of success and that they are ... More
Empirical Research Plan: Effects of Sketching on Program ComprehensionDec 05 2016Sketching is an important means of communication in software engineering practice. Yet, there is little research investigating the use of sketches. We want to contribute a better understanding of sketching, in particular its use during program comprehension. ... More
Implementing and Evaluating Candidate-Based Invariant GenerationDec 04 2016The discovery of inductive invariants lies at the heart of static program verification. This paper describes our efforts to apply candidate-based invariant generation in GPUVerify, a static checker of programs that run on GPUs. We study a set of 383 GPU ... More
Enhancing Use Case Points Estimation Method Using Soft Computing TechniquesDec 04 2016Software estimation is a crucial task in software engineering. Software estimation encompasses cost, effort, schedule, and size. The importance of software estimation becomes critical in the early stages of the software life cycle when the details of ... More
Proceedings Second Graphs as Models WorkshopDec 04 2016Graphs are used as models in all areas of computer science: examples are state space graphs, control flow graphs, syntax graphs, UML-type models of all kinds, network layouts, social networks, dependency graphs, and so forth. Once such graphical models ... More
A controlled experiment for the empirical evaluation of safety analysis techniques for safety-critical softwareDec 01 2016Context: Today's safety critical systems are increasingly reliant on software. Software becomes responsible for most of the critical functions of systems. Many different safety analysis techniques have been developed to identify hazards of systems. FTA ... More
Analysing Text in Software ProjectsDec 01 2016Most of the data produced in software projects is of textual nature: source code, specifications, or documentations. The advances in quantitative analysis methods drove a lot of data analytics in software engineering. This has overshadowed to some degree ... More
Preventing Incomplete/Hidden Requirements: Reflections on Survey Data from Austria and BrazilDec 01 2016Many software projects fail due to problems in requirements engineering (RE). The goal of this paper is analyzing a specific and relevant RE problem in detail: incomplete/hidden requirements. We replicated a global family of RE surveys with representatives ... More
Why a Testing Career Is Not the First Choice of EngineersNov 30 2016As software systems are becoming larger, more complex, and dependent on many third-party software components, the chances of their failure are increasing further. This calls for intense efforts to improve the quality of testing in the software development ... More
Environmental Factors Influencing Individual Decision-Making Behavior in Software Project: A Systematic Literature ReviewNov 30 2016As one of the crucial human aspects, individual decision-making behavior that may affect the quality of a software project is adaptive to the environment in which the individual is. However, no comprehensive reference framework of the environmental factors ... More
A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality Models (Conference Version)Nov 30 2016Assessing and predicting the complex concept of software quality is still challenging in practice as well as research. Activity-based quality models break down this complex con- cept into more concrete definitions, more precisely facts about the system, ... More
A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality ModelsNov 30 2016Context: Software quality is a complex concept. Therefore, assessing and predicting it is still challenging in practice as well as in research. Activity-based quality models break down this complex concept into concrete definitions, more precisely facts ... More
Links between the personalities, styles and performance in computer programmingNov 30 2016There are repetitive patterns in strategies of manipulating source code. For example, modifying source code before acquiring knowledge of how a code works is a depth-first style and reading and understanding before modifying source code is a breadth-first ... More
Ontologies for Privacy Requirements Engineering: A Systematic Literature ReviewNov 30 2016Privacy has been frequently identified as a main concern for system developers while dealing with/managing personal information. Despite this, most existing work on privacy requirements deals with them as a special case of security requirements. Therefore, ... More
Using Temporal and Semantic Developer-Level Information to Predict Maintenance Activity ProfilesNov 30 2016Predictive models for software projects' characteristics have been traditionally based on project-level metrics, employing only little developer-level information, or none at all. In this work we suggest novel metrics that capture temporal and semantic ... More
Artefact-based Requirements Engineering: The AMDiRE ApproachNov 30 2016The various influences in the processes and application domains make Requirements Engineering (RE) inherently complex and difficult to implement. In general, we have two options for establishing an RE approach: we can either establish an activity-based ... More
A Field Study on the Elicitation and Classification of Defects for Defect ModelsNov 30 2016Defect models capture faults and methods to provoke failures. To integrate such defect models into existing quality assurance processes, we developed a defect model lifecycle framework, in which the elicitation and classification of context-specific defects ... More
A Case Study on Artefact-based RE Improvement in PracticeNov 30 2016Most requirements engineering (RE) process improvement approaches are solution-driven and activity-based. They focus on the assessment of the RE of a company against an external norm of best practices. A consequence is that practitioners often have to ... More
Field study on requirements engineering: Investigation of artefacts, project parameters, and execution strategiesNov 30 2016Requirements Engineering (RE) is a critical discipline mostly driven by uncertainty, since it is influenced by the customer domain or by the development process model used. We aim to investigate RE processes in successful project environments to discover ... More
Neural Network Models for Software Development Effort Estimation: A Comparative StudyNov 29 2016Software development effort estimation (SDEE) is one of the main tasks in software project management. It is crucial for a project manager to efficiently predict the effort or cost of a software project in a bidding process, since overestimation will ... More
Revisiting the Futamura Projections: A Visual TutorialNov 29 2016Partial evaluation, while powerful, is not widely studied or used by the pragmatic programmer. To address this, we revisit the Futamura Projections from a visual perspective by introducing a diagramming scheme that helps the reader navigate the complexity ... More
When Students Choose to Use Event-B in their Software Engineering ProjectsNov 29 2016Students often learn formal methods as part of a software engineering degree programme, without applying these formal methods outside of the specific module(s) dedicated to this subject. In particular, software engineering students often have to build ... More
Naming the Pain in Requirements Engineering: A Design for a Global Family of Surveys and First Results from GermanyNov 29 2016For many years, we have observed industry struggling in defining a high quality requirements engineering (RE) and researchers trying to understand industrial expectations and problems. Although we are investigating the discipline with a plethora of empirical ... More
Operationalised product quality models and assessment: The Quamoco approachNov 28 2016Software quality models provide either abstract quality characteristics or concrete quality measurements; there is no seamless integration of these two aspects. Reasons for this include the complexity of quality and the various quality profiles in different ... More
Correctness Attraction: A Study of Stability of Software Behavior Under Runtime PerturbationNov 28 2016Can the execution of a software be perturbed without breaking the correctness of the output? In this paper, we devise a novel protocol to answer this rarely investigated question. In an experimental study, we observe that many perturbations do not break ... More