ENASE 2012 Abstracts


Full Papers
Paper Nr: 6
Title:

Precise Guidance to Dynamic Test Generation

Authors:

TheAnh Do, A. C. M. Fong and Russel Pears

Abstract: Dynamic symbolic execution has been shown an effective technique for automated test input generation. However, its scalability is limited due to the combinatorial explosion of the path space. We propose to take advantage of data flow analysis to better perform dynamic symbolic execution in the context of generating test inputs for maximum structural coverage. In particular, we utilize the chaining mechanism to (1) extract precise guidance to direct dynamic symbolic execution towards exploring uncovered code elements and (2) meanwhile significantly optimize the path exploration process. Preliminary experiments conducted to evaluate the performance of the proposed approach have shown very encouraging results.
Download

Paper Nr: 10
Title:

Roles as Modular Units of Composition

Authors:

Fernando Barbosa and Ademar Aguiar

Abstract: Object oriented decomposition is the most successful decomposition strategy used nowadays. But a single decomposition strategy cannot capture all aspects of a concept. Roles have been successfully used to model the different views a concept may provide but, despite this, roles have not been used as building blocks. Roles are mostly used to extend objects at runtime. In this paper we propose roles as a way to compose classes that provides a modular way of capturing and reusing those aspects that fall outside a concept’s main purpose, while being close to the OO approach. We present how roles can be made modular and reusable. We also show how we can use roles to compose classes using JavaStage, a java extension that support roles To validate our approach we developed generic and reusable roles for the Gang of Four patterns. We were able to develop reusable roles for 10 out of 23 patterns, which is a good outcome.e.
Download

Paper Nr: 15
Title:

Interoperability Constraints in Service Selection Algorithms

Authors:

Paweł L. Kaczmarek

Abstract: In Service Oriented Architecture, composite applications are developed by integration of existing, atomic services that may be available in alternative versions realizing the same functionality but having different Quality of Service (QoS) attributes. The development process requires effective service selection algorithms that balance profits and constraints of QoS attributes. Additionally, services operate in a heterogeneous environment, which requires resolution of interoperability issues during integration. In this paper, the author proposes a methodology that introduces interoperability analysis into existing service selection algorithms. Algorithm data structures are extended with additional constraints that represent interoperability for the two considered computational models: the graph-based model and the combinatorial model based on integer linear programming. The extensions enable a straightforward application of a wide range of existing algorithms as the general structure of input data is preserved. As a part of the research, a system that supports development of SOA-based applications was implemented. Chosen service selection algorithms together with appropriate extensions for interoperability analysis were implemented in the system.
Download

Paper Nr: 18
Title:

Improving Event Correlation for Non-process Aware Information Systems

Authors:

Ricardo Pérez-Castillo, Barbara Weber, Ignacio García-Rodríguez and Mario Piattini

Abstract: Business process mining is a solution to discover business processes. These techniques take event logs recorded by process-aware information systems. Unfortunately, there are many traditional systems without mechanisms for events collection. Techniques for collecting events (which represent the execution of business activities) from non-process-aware systems were proposed to enable the application of process mining to traditional systems. Since business processes supported by traditional systems are implicit, correlating events into their execution instances constitutes a challenge. This paper adapts a previous correlation algorithm and incorporates it into a technique for obtaining event logs from traditional systems. This technique instruments source code to collect events with some additional information. The algorithm is applied to the events dataset to discover the best correlation conditions. Event logs are built using such conditions. The technique is validated with case study, which demonstrates its suitability to discover the correlation set and obtain well-formed event logs.
Download

Paper Nr: 22
Title:

A Survey of Infeasible Path Detection

Authors:

Sun Ding, Hee Beng Kuan Tan and Kai Ping Liu

Abstract: A program has many and usually an infinite number of logic paths from its entry point to its exit point. Each execution of the program follows one of its logic paths. Regardless of the quality of the program and the programming language used to develop it, in general, a sizable number of these paths are infeasible — that is no input can exercise them. Detection of these infeasible paths has a key impact in many software engineering activities including code optimization, testing and even software security. This article reviews methods for detecting infeasible paths and proposes to revisit this important problem by considering also empirical aspect in conjunction to program analysis.
Download

Paper Nr: 26
Title:

A Logic-based Passive Testing Approach for the Validation of Communicating Protocols

Authors:

Xiaoping Che, Felipe Lalanne and Stephane Maag

Abstract: Conformance testing of communicating protocols is a crucial step to the validation of systems. Formal approaches provide many keys to test efficiently these protocols. These approaches are divided in two main sets: active and passive testing techniques. While they both have their own advantages and drawbacks, passive testing techniques are the only ones that can be applied when the controllability of the system interfaces is unavailable or when the implementation under test cannot be stimulated in runtime. In this paper, we present a novel logic-based passive testing approach. We aim at formally specifying protocol properties in order to check them on real execution traces. Based on algorithms defined in a previous paper, a prototype is here developed and experienced. In order to evaluate and assess our technique, we present experiments through a set of IMS/SIP properties and long-size execution traces. We finally provide relevant verdicts and discussions.
Download

Paper Nr: 28
Title:

A Meta-model for Representing Language-independent Primary Dependency Structures

Authors:

Ioana Șora

Abstract: Reverse engineering creates models of software systems, at a higher level of abstraction or in a form suitable to a particular analysis. This article presents a meta-model that provides a unitary way of describing primary dependency structures in software systems. It extracts and conceptualizes similarities between different programming languages which, moreover, belong to any of the object-oriented as well as the procedural programming paradigms. The proposed meta-model is validated by the implementation of different tools for model extraction from programs written in Java, C# (CIL) and ANSI C. The utility of the proposed metamodel is shown by supporting a number of different analysis applications such as architectural reconstruction, impact analysis, modularization analysis, refactoring decisions.
Download

Paper Nr: 31
Title:

Social Adaptation - When Software Gives Users a Voice

Authors:

Raian Ali, Carlos Solis, Inah Omoronyia, Mazeiar Salehie and Bashar Nuseibeh

Abstract: Adaptive systems are characterized by the ability to monitor changes in their volatile world and react to monitored changes when needed. The ultimate goal of adaptation is that users’ requirements are always met correctly and efficiently. Adaptation is traditionally driven by the changing state of the system internal and its surrounding environment. Such state should be monitored and analyzed to decide upon a suitable alternative behaviour to adopt. In this paper, we introduce another driver for adaptation which is the users’ collective judgement on the alternative behaviors of a system. This judgmenet should be infered from the individual users’ feedback given iteratviely during the lifetime of a system. Users’ feedback reflects their main interest which is the validity and the quality of a system behaviour as a means to meet their requirements. We propose social adaptation which is a specific kind of adaptation that treats users’ feedback, obtained during the software lifetime, as a primary driver in planning and guiding adaptation. We propose a novel requirements engineering modelling and analysis approach meant for systems adopting social adaptation. We evaluate our approach by applying it in practice and report on the results.
Download

Paper Nr: 39
Title:

Agent Oriented Software Engineering for Multimedia Systems’ Development - An Experimental Case Study

Authors:

Alma M. Gómez-Rodríguez, Juan Carlos González-Moreno, David Ramos-Varcárcel and Francisco Javier Rodriguez-Martinez

Abstract: Multimedia systems, and in particular games, have special characteristics that make the process of obtaining system requirements very difficult. In most cases, an important work of codification is needed in order to obtain a prototype that can be analyzed by the customer and make requirements elicitation easier. This paper proposes a way of facilitating the process and obtaining a prototype in a short development time. Our proposal is based in the combined use of a well-known methodology for the construction of Multimedia Systems and Alice, and follows an Agent Oriented Software Engineering approach. The work introduces the process proposed as well as a tool that provides support for such process. Besides, a case study shows the application of the process and the tool to a simple example. From this example, the suitability of Agent Oriented Software Engineering approach and the proposed process for game prototype development is concluded.
Download

Paper Nr: 40
Title:

Handling Inconsistency in Software Requirements

Authors:

Richa Sharma and K. K. Biswas

Abstract: Software Requirements expressed in the form of natural language are often informal and possibly vague. The need for formal representation of the requirements has been explored and addressed in various forms earlier. Of several recommended approaches, logical representation of requirements has been widely acknowledged to formalize the requirements languages. In this paper, we present courteous logic based representations for software requirements. We report the benefits of courteous logic based representations for handling inconsistencies in software requirements and take into account views of multiple stakeholders and the presuppositions. We show how courteous logic based representations can be used to ensure consistency as well as to uncover presuppositions in the requirements.
Download

Paper Nr: 43
Title:

Proposal to Improve the Requirements Process through Formal Verification using Deductive Approach

Authors:

Radosław Klimek

Abstract: The work concerns gathering requirements and their formal verification using deductive approach. This approach is based on the semantic tableaux reasoning method and temporal logic. The semantic tableaux method is quite intuitive and has some advantages over traditional deduction strategies. System requirements are gathered using some UML diagrams. Requirements engineering based on formal analysis and verification might play an essential role in producing the correct software since this approach increases reliability and trust in software. Deductive inference is always the most natural for human beings and is used intuitively in everyday life. A use case, its scenario and its activity diagram may be linked to each other during the process of gathering requirements. When activities and actions are identified in the use case scenario then their workflows are modeled using the activity diagram. Organizing the activity diagram workflows into design patterns enables the automation of the process of generating logical specifications. The automation of this process is crucial and constitutes a challenge in the whole deductive approach. Temporal logic properties and formulas may be difficult to specify by inexperienced users and this fact can be a significant obstacle to the practical use of deduction-based verification tools. The approach presented in this paper attempts to overcome this problem. Automatic transformation of workflow patterns to temporal logic formulas is proposed. These formulas constitute logical specifications of requirements models. The architecture of an automatic and deduction-based verification system is proposed. Applying this innovative concept results in the reduction of software development costs as some errors might be addressed in the software requirements phase and not in the implementation or testing phases.
Download

Short Papers
Paper Nr: 7
Title:

How can you be Agile in “Rough Terrain” and under “Tight Boundary Conditions” - Industrial Experience Report

Authors:

Peter Faßbinder

Abstract: Ten years after the publication of the agile manifesto, the following statements still hold true: Defining an agile development process for a small co-located software team is straight forward; there are many theories, models and examples for this. However, integrating agile development into an overall standard process of a complex organization, that includes hardware and system development, and has large distributed projects, is still a major challenge: How do you integrate the agile development approach into the standard process? How much agility do you have to abandon to satisfy the boundary conditions of such an environment? What is the ideal process architecture to address the needs of the different project types? What compromises do you have to accept and where are the limits that you should not cross? This work provides possible answers to these questions, and describes suitable approaches to address the three key challenges faced when integrating agile development into a standard system development process. The results are based on experiences from many agile implementation projects within the Siemens AG.
Download

Paper Nr: 9
Title:

An Event-driven Approach for the Separation of Concerns

Authors:

Hayim Makabee

Abstract: This paper presents an event-driven approach for the separation of concerns in software systems. We introduce the EventJ framework that provides an event-driven extension to the Java programming language. The paper describes a general methodology that can be used to identify the cross-cutting concerns and separate them from the main functionality using events and event handlers. We discuss the pre-requisites to perform this change and illustrate it with a concrete example. Finally, we make a comparison between the event-driven approach and the aspect-oriented one, and conclude that the use of events to separate concerns has a positive effect on software quality attributes such as maintainability, extensibility and reusability.
Download

Paper Nr: 14
Title:

A Domain Ontology for Software Process Architecture Description

Authors:

Fadila Aoussat, Mourad Oussalah and Mohamed Ahmed-Nacer

Abstract: This paper presents a part of an approach for software processes reuse based on software architectures. This solution is proposed after the study of existing work on software process reuse field. Our study focuses on approaches for reusing based on software architectures and domain ontology. AoSP (Architecture oriented Software Process) approach exploits the progress of two research fields that promote reusing for the Software process reusing: Ontology and software architectures. This article details how the software process architectures are described and discusses the software process ontology conceptualization and instantiation.
Download

Paper Nr: 19
Title:

Agile Development of Critical Software – Can It be Justified?

Authors:

Janusz Górski and Katarzyna Łukasiewicz

Abstract: The paper introduces the problem of application of agile practices in critical software development projects. It summarizes the present state of research and identifies the need for having a ready-to-use model of being agile while still meeting the required assurance levels which could be particularly useful for small and medium sized safety-critical software companies. Then the objective and scope of a research aiming at delivering such a model is presented together with a case study description which is a step of this research project. The case study will investigate how software engineers perceive risks associated with introduction of agile practices and collect their ideas on how these risks could be mitigated.
Download

Paper Nr: 32
Title:

Refactoring Business Process Models - A Systematic Review

Authors:

María Fernández-Ropero, Ricardo Pérez-Castillo and Mario Piattini

Abstract: Business processes are nowadays recognized as one of the intangible business assets that provide more competitive advantage to organizations. Organizations must therefore be able to manage their business process models and deal with their quality problems, i.e. lack of understandability, maintainability or reusability among others. Such quality problems are exacerbated in business processes models that were mined by reverse engineering from enterprise information systems, since business process are more likely to undergo inconsistencies, redundancies, etc. Refactoring has proved to be a suitable solution to cope with these quality problems. Refactoring changes the internal structure of a business process model while preserves its external behaviour. This paper presents an in-depth systematic review for collecting, categorizing and analyzing all the refactoring methods and techniques applied to business process models. The systematic review is conducted following the formal methodology proposed by Kitchenhan. The review reports 206 related studies, from which 16 were considered as primary studies. The most valuable conclusion is that none of these studies proposes refactoring techniques for business process models previously obtained by reverse engineering, which is considered as a greenfield research area.
Download

Paper Nr: 34
Title:

The Recursion Scheme of the Trace Function Method

Authors:

Baltasar Trancón y Widemann

Abstract: The Trace Function Method (TFM) is a fundamental approach to the description of system behavior for requirements analysis, specification, and documentation. External behavior of systems or components is given in mathematically direct form, but with full abstraction from internal state, by defining output at discrete interface events as recursive functions of the complete history of previous interaction at the same interface, including both input and output. In order to understand and evaluate the semantics of the notation, and in particular the executable semantics, that is, the potential for automatic simulation and construction of prototype implementations from TFM descriptions, a recursion-theoretic analysis is given. It is demonstrated that a single run and the full reactive behavior of a TFM description can be presented as instances of first-order and higher-order course-of-value iteration, respectively. A simple sufficient condition for correct implementations of TFM descriptions in terms of state systems is given. The spectrum of possible state-based implementations of a TFM description, ranging from straightforward simulation to minimized state space, is explored. Implications for semantically calculated and hence formally verifiable prototype implementations are summarized.
Download

Paper Nr: 35
Title:

Ranking Web Services using Centralities and Social Indicators

Authors:

Tilo Zemke, José Ignacio Fernández-Villamor and Carlos Á. Iglesias

Abstract: Nowadays, developers of web application mashups face a sheer overwhelming variety and pluralism of web services. Therefore, choosing appropriate web services to achieve specific goals requires a certain amount of knowledge as well as expertise. In order to support users in choosing appropriate web services it is not only important to match their search criteria to a dataset of possible choices but also to rank the results according to their relevance, thus minimizing the time it takes for taking such a choice. Therefore, we investigated six ranking approaches in an empirical manner and compared them to each other. Moreover, we have had a look on how one can combine those ranking algorithms linearly in order to maximize the quality of their outputs.
Download

Paper Nr: 37
Title:

Agile Development with Stepwise Feature Introduction

Authors:

Mikołaj Olszewski and Ralph-Johan Back

Abstract: The paper evaluates the Stepwise Feature Introduction paradigm, an organised method for constructing layered, reusable, object-oriented software systems. Based on our research adapted the paradigm to construction of large-scale software systems. In particular, we added a dedicated, agile development process to the paradigm and examined strategies for execution and testing. Correctness concerns of the produced system are also covered in this paper. We also briefly analyse the impact of the paradigm on the quality of the developed software.
Download

Paper Nr: 46
Title:

A Generic Approach for the Identification of Variability

Authors:

Anilloy Frank and Eugen Brenner

Abstract: The automotive electrical/electronics (E/E) embedded software development largely uses Model Based Software Engineering (MBSE), an industrially accepted approach. With an ever increasing complexity of embedded software, the E/E models in automotive applications are getting enormously unmanageable. The heterogeneous nature of projects developed using several modeling and simulation tools, and the hierarchical structure with numerous composite components deeply embedded within, tends to repeatability. Hence it is often necessary to define a mechanism to identify reusable components from these that are embedded deep within. The proposed approach addresses the identification process in the development and deployment of software components used in the realization of such distributed processes, by selectively targeting the component-feature model (CF) instead of a comprehensive search to improve the identification. It addresses the issues to identify commonality of variants within a product development. The results obtained are faster and are more accurate compared to other methods.
Download

Paper Nr: 48
Title:

Findability through Traceability - A Realistic Application of Candidate Trace Links?

Authors:

Markus Borg

Abstract: Since software development is of a dynamic nature, the impact analysis is an inevitable work task. Traceability is known as one factor that supports this task, and several researchers have proposed traceability recovery tools to propose trace links in an existing system. However, these semi-automatic tools have not yet proven useful in industrial applications. Based on an established automation model, we analyzed the potential value of such a tool. We based our analysis on a pilot case study of an impact analysis process in a safety-critical development context, and argue that traceability recovery should be considered an investment in findability. Moreover, several risks involved in an increased level of impact analysis automation are already plaguing the state-of-practice work flow. Consequently, deploying a traceability recovery tool involves a lower degree of change than has previously been acknowledged.
Download

Paper Nr: 49
Title:

Reduction of Program-generation Times by Transformation-sequence Optimization

Authors:

Martin Kuhlemann, Andreas Lübcke and Gunter Saake

Abstract: Transforming source code is common today. Such transformation process may involve the execution of a number of program transformations on the source code. Overall, the transformation process can last long when individual program transformations last long and when high numbers of program transformations need to be executed. In this paper, we introduce and discuss techniques that can reduce the time transformation tools need to produce a program.
Download

Paper Nr: 54
Title:

Towards Online Data Mining System for Enterprises

Authors:

Jan Kupčík and Tomáš Hruška

Abstract: As the amount of generated and stored data in enterprises increases, the significance of fast analyzing of this data rises. This paper introduces data mining system designed for high performance analyses of very large data sets, and presents its principles. The system supports processing of data stored in relational databases and data warehouses as well as processing of data streams, and discovering knowledge from these sources with data mining algorithms. To update the set of installed algorithms the system does not need a restart, so high availability can be achieved. Data analytic tasks are defined in a programming language of the Microsoft .NET platform with libraries provided by the system. Thus, experienced users are not limited by graphical designers and their features and are able to create complex intelligent analytic tasks. For storing and querying results a special storage system is outlined.
Download

Paper Nr: 21
Title:

Business Processes Modeling through Multi Level Activity Diagrams

Authors:

Denis Del Villano, Gaetanino Paolone and Paolino Di Felice

Abstract: The usage of UML 2.0 activity diagrams at two different levels of abstraction is proposed to consolidate an already known business modeling approach for the development of large enterprise software applications. In this way a high continuity between the phases of business modeling and system modeling is obtained. Moreover, to keep a better control of the completeness of the business modeling artifacts, we recommend to fill out matrices that make explicit the link among business activities, business use cases and business objects involved in the automation of the information system.m.
Download

Paper Nr: 36
Title:

SOAQE - Service Oriented Architecture Quality Evaluation

Authors:

Riad Belkhatir, Mourad Oussalah and Arnaud Viguier

Abstract: This paper presents a semi-automated method for evaluating SOAs called SOAQE, correcting defects observed so far with existing methods such as lacks of pertinence and accuracy for evaluation results. SOAQE takes as a starting point the McCall model, describing software quality, which led to an international standard for the evaluation of software quality (ISO/IEC 9126-1, 2001). This model is organized around three types of quality attributes (factors, criteria and metrics). The SOAQE method consists in decomposing the whole architecture and evaluating it according to the McCall model, i.e. a list of quality factors arising from business needs grouping criteria composed by metrics. Our experimentations led us to quantify numerically a first determining factor for SOAs, the ‘dynamism’ and some attributes of its structure: namely the ‘loose coupling’ criterion and its constituent metrics (‘physical, semantic and syntactic’).
Download

Paper Nr: 51
Title:

Are Use Case Modeling Features Underutilized? - A Lightweight Survey that Raises Concerns

Authors:

Mohamed El-Attar, Khaldoun Halawani, Moustafa Alsaleh and Mahmood Niazi

Abstract: Use case modeling is a very popular technique for eliciting, specifying and validating functional requirements. Use case modeling possesses a very rich notational set that allows its users to accurately specify a large variety of aspects about the underlying system’s requirements. Many authoring techniques and templates were introduced to accurately describe a system’s functional requirements. Although a relatively simple modeling technique, the literature has repeatedly reported on its misuse, leading to the development of end systems that do not satisfy the intended requirements. To this end, we have conducted a survey of use case models available online to shed light on the level of utilization of the use case modeling notation and how they are described, which can be symptomatic of how well do requirements engineers utilize the use case modeling technique and its modeling capabilities. In our survey we have collected and analysed 105 use case models. The results show an underutilization of the use case modeling notation and improper authoring techniques, which raises concern over the quality of the end systems.
Download

Paper Nr: 55
Title:

Towards Experimental Assessment of Security Threats in Protecting the Critical Infrastructure

Authors:

Janusz Zalewski, Steven Drager, William McKeever and Andrew J. Kornecki

Abstract: Security is a system and software property essential in protecting infrastructure critical to the nation’s business and everyday operation. It is often related to and overlapping with other trustworthiness properties, such as safety and/or reliability. Mutual relationships of these properties and their interactions in real world systems have been studied by multiple authors in a recent decade; however, they are rarely viewed jointly in the context of critical infrastructure. The objective of this paper is to take a closer look at the relationship of security with safety in computing systems, and present a unified view for further research. In particular, the paper presents an overview of the state-of-the-art and focuses on the discussion of the unifying architecture, which leads to interesting observations how security and safety are related. Preliminary experiments on using safety concepts to assess security in industrial control systems with monitoring tools are discussed.
Download