Springer Volume




Session S1: Requirement engineering and software production


What is Troubling IT Analysts? A Survey Report from Poland on Requirements-related Problems

Jarzębowicz & Wojciech Ślesiński

Abstract: Requirements engineering and business analysis are activities considered to be important to software project success but also difficult and challenging. This paper reports on a survey conducted in Polish IT industry, aimed at identifying most widespread problems/challenges related to requirements. The survey was targeted at people performing role of analyst in commercial IT projects. The questionnaire included 64 pre-defined problems gathered from a literature review and a workshop involving a small group of analysts. It was completed by 55 respondents, each of whom assessed the frequency of occurrence for pre-defined problems and optionally could report additional problems based on their work experience. A ranking of most frequent problems is presented in this paper. Additional analyses for more specific contexts: agile projects and smaller/larger development teams are also provided. Final sections of the paper include comparison of our results and results of reported surveys conducted in other countries, followed by a discussion.


Applying Use Case Logic Patterns in Practice: Lessons Learnt

Albert Ambroziewicz &
Michal Smialek

Abstract: Use cases are popular means to specify functional requirements in terms of application logic scenarios. Use case scenarios can be generalised to offer abstract use cases – use case logic patterns. In this paper we present a study on application of such patterns in a real industry project. At first, the project attempted at specifying reoccurring functionality using an ad-hoc approach. This resulted in poor quality specifications as judged by experienced analysts. Following this, we have proposed to use the pattern approach which could be compared with the previous attempt. Lessons learnt from this comparison show improvement in clarity, repeatability and correctness, regardless of a tooling environment used.


Hybrid agile method for management of software creation

Smoczyńska &
Michał Pawlak &
Aneta Poniszewska-Maranda

Abstract: Agile approach to software development provided a good alternative for heavyweight traditional methods. However, it has its drawbacks, that are discussed more and more often, such as: inefficiency in large teams and projects, difficulty in accurate task estimation, lack of fully defined requirements at the beginning of the project, or being “overly extreme” with its principles and practices. The paper presents the new hybrid method in agile approach, which improves shortcomings of the chosen methodologies. Additionally, a tool for supporting project creation using the proposed method in agile approach is created.

Session S2: Software modelling and construction


On the Functional Specification of Queries in OCL


Abstract: Query operations are used to evaluate constraints such as invariants, pre- and post-conditions. The UML standard requires that a query is pure; i.e. it must not change the global system state. However, operations used for checking validity of conditions quite often have side effects. As a result, the global system state changes, the problem is that the validity of constraints should not be changed. Purity is a subject of intensive research; unfortunately this notion was not properly investigated in the case of OCL. This paper investigates how the very restrictive notion of purity can be relaxed in order to be applicable in the case of state changing operations. It is shown how to define queries relatively to views. Relative queries are classified into rigid- and non-rigid ones. It is shown that non-rigid queries preserve pre- and post-conditions; whereas rigid queries preserve also invariants.


Model based multi-level security system verification

Andrzej Stasiak & Zbigniew Zieliński

Abstract: In the paper the approach to multi-level security (MLS) systems verification on the base of Bell-LaPadula and Biba models is presented. The essence of the proposed approach to analyze properties of MLS security-design models and their instances is models integration and their evaluation and simulation. Properties of the security policy model are expressed as constrains in OCL language. Also, separability problem of different security domains is formulated and a method for its verification is proposed. The feasibility of the proposed approach by applying it to the example MLS project is demonstrated.


Towards definition of a unified domain model

Bogumiła Hnatkowska &
Anita Walkowiak

Abstract: The domain model is one the most important artifacts produced at early stages of software development which can be reused efficiently during software design and implementation. Unfortunately, there is no clear explanation what should be included in the domain model to minimize modeling effort and max-imize the potential later benefits. Authors of the paper try to address this gap by proposing a definition of a unified domain model, which is the result of literature overview and authors’ own experiences. The purpose of the literature analysis was to assess the existing definitions of domain models and to identify their com-mon parts. On that basis, a unified model was proposed. Its application in real projects confirmed the model usefulness.

Session S3: System monitoring and performance


The Performance Analysis of Web Applications Based on Virtual DOM and Reactive
User Interfaces

Chęć & Ziemowit Nowak

Abstract: This paper contains the analysis of modern web applications. These applications are Single Page Applications (SPA) based on virtual DOM (VDOM) and reactive user interfaces. In order to perform a performance analysis for these complex web applications, two architectures were suggested. The architectures are capable of capturing asynchronous event streams processed within the data flow between the interface and the data model. The data flow is controlled by the available operators, principles and models of the reactive programming paradigm. The research shows that loading applications using virtual DOM requires relatively longer time associated with the VDOM structure construction process, while processing operations on the previously loaded user interface structure is much simpler and more efficient than the native methods. In addition, the functional reactive programming in JavaScript is conducive to the development of scalable web applications.


Real-time comparable phrases searching via the Levenshtein distance with the use of CUDA technology

Witold Żorski &
Bartosz Drogosiewicz

Abstract: The paper presents a real-time method for finding strings similar to a given pattern. The method is based on the Levenshtein metric with the Wagner–Fischer algorithm being adopted. This well-known technique has been improved using a histogram-based approach which resulted in significant reduction of calculation time without a noticeable loss of correctness. Additionally, the used Wagner–Fischer algorithm has been massively parallelized with CUDA technology. The presented method is very flexible as one can define a task-suitable vocabulary, even for abstract elements, far beyond applications relevant to alphanumeric objects. The presented approach seems to be promising for networking and security applications as it is suitable for real-time analysis of data streams.


Smart city traffic monitoring system based on 5G cellular network, RFID and machine learning

Pawłowicz &
Mateusz Salach &
Bartosz Trybus

Abstract: Smart city is well-known concept of nowadays urban management. With advantages of 5G network, RFID transponders and cloud infrastructure it is possible to create a city traffic monitoring system which helps drivers to reach destination in an optimal time. The system will redirect the driver to specific track to avoid traffic jams and to minimize fuel consumption. In case of an electric vehicle the system will take into account its range and battery power level. The paper presents an idea of such traffic management system. Its components, including 5G communication, RFID-based parking space monitoring and cloud services for supervisory control and machine learning are also characterized.

Session S4: Empirical software engineering


Value-based Requirements Engineering: challenges and opportunities

Krzysztof Wnuk &
Pavan Mudduluru

Abstract: Context. Companies have started using Value-Based Requirements Engineering (VBRE) to create value to the requirements. However, creating value in Requirements Engineering (RE) process in practice is quite a challenging task.

Objectives. In this study, we investigate how VBRE is implemented in software development process. The main objectives of the paper are:

1. To identify and analyze the models present in the literature to conduct VBRE in software development.

2. To identify how value approach is applied in each of the RE activities.

3. To identify and detail the challenges that are faced by organizations while applying VBRE.

4. To identify and compare the notion of VBRE in literature and industry.

Methods. In this study, we conducted a Systematic Literature Review (SLR) through snowballing process in order to identify the literature regarding VBRE. Narrative analysis was used to analyze the SLR results. Further, we conducted an industrial survey to validate and supplement the results of SLR. Statistical analysis was used to analyze the survey results. Results. 26 primary and 3 secondary studies were identified from the snowballing process. These studies were analyzed, considering their rigor and relevance scores. Various RE practices, challenges and value dimensions were identified from the literature. Further, the responses from 59 respondents were used to validate the SLR results and identify the additional challenges and benefits of VBRE. VBRE was identified to be having a positive impact on organizations. However, challenges like aligning product, project and organization opinions, selecting a most valuable requirement for a particular release and including time-dependent requirements were identified to be impacting the organizations. Conclusions. Organizations were found to be applying VBRE in the development process. But, they need to mitigate the challenges in order to successfully implement VBRE. This study also identifies the benefits of VBRE and discuss about the least discussed value dimensions and RE activities in VBRE. This helps practitioners to understand the drawbacks of VBRE and successfully apply VBRE in the organizations.


Monitoring and Maintenance of Telecommunication Systems: Challenges and Research Perspectives

Lakmal Silva &
Michael Unterkalmsteiner & Krzysztof Wnuk

Abstract: In this paper, we present challenges associated with monitoring and maintaining a large telecom system built product reuse at Ericsson. The system constitutes of multiple services, composed of both legacy and modern systems, that are constantly changing and need to be adapted to changing business needs. The paper is based on first-hand experience from architecting, developing and maintaining such a system, pointing out current challenges and potential avenues for future research that might contribute to addressing them.


Software metrics for similarity determination of complex software systems

Stasiak &
Zbigniew Zieliński &
Jan Chudzikiewicz

Abstract: In the paper a methodology for similarity determination of complex software systems is proposed. The methodology introduce definition of software systems similarity metrics and ways to its determination, as well methods and tools for measuring similarity with complete environment. The essence of the proposed methodology is to divide of software of systems to disjoint groups on the base of proposed structural similarity metrics to significantly reduce of computational complexity of necessary comparisons of source codes. Presented environment for similarity determination of software systems using .NET technology was utilized for preparing of opinions in legal proceedings for copyright violation.


How good is my project? Experiences from projecting software quality using a reference set

Chojnacki &
Cezary Mazurek &
Bartosz Walter &
Marcin Wolski

Abstract: Effective management of a portfolio of software projects may include ranking them with respect to various quality criteria. Diversity of projects in terms of their size, maturity and domain poses additional requirements for adopting a quality evaluation process. At first, to provide a convincing argumentation for project improvements, it is important to extract relevant quality features. Secondly, strong and weak aspects of a project could be identified by showing their relevance to the other similar projects. In the paper we present an experience-based overview of comparing quality of software projects. We discuss the relevancy of features used for comparison and analyze various aggregation methods used for comparing projects of similar nature.

PTI Volume (EN)




Session S5.1: SE didactics and software development


Integration of Senior Software Project Courses in an Undergraduate Software Engineering Program

Janusz Zalewski &
Ingrid Buckley &
Fernando Gonzalez


Abstract: Undergraduate software engineering programs typically include courses cov-ering traditional models of the software development lifecycle. Following the SWEBOK guidelines, these may involve in the most straightforward case courses on Software Requirements Specification, Software Design, Software Construction or Implementation, and Software Testing. In practice, these courses are organized in a vertical sequence, with some being prerequisites to others, according to the individual stages in the development cycle, and are rarely intertwined or considered together on a cross-section basis. The contribution of this work is to demonstrate a practical way and share respective experience of integrating the four courses into a cohesive software development project block, additionally including a maintenance component with a fifth senior level course: Software Project in Computer Networks. The three essential benefits of such approach include:
(1) increasing the size of the senior software project making it more realistic from an industrial perspective,
(2) strengthening the understanding of software engineering concepts by applying them across the entire block rather
than in isolation in individual courses, as well as
(3) reducing project overload that may arise if each course were to require its own project.


Automated software development – the presence and the challenges for the future

Łukasz Korzeniowski &
Krzysztof Goczyla

Abstract: Since the time when first CASE methods and tools were developed, little has been done in the area of automated creation of code. CASE tools support a software engineer in creation the system structure, in defining interfaces and relationships between software modules and, after the code has been written, in performing testing tasks on different levels of detail. Writing code is still the task of a skilled human, which makes the whole software development a costly and error-prone process. It seems that recent advances in AI area, particularly in deep learning methods, may considerably improve the matters. The paper presents a comprehensive survey of recent work and achievements in this area reported in the literature, both from the theoretical branch of research and from engineer-oriented approaches. Then some challenges for the future work are proposed, classified into Full AI, Assisted AI and Supplementary AI research fields.


Conceptualising code comprehension as an interaction


Abstract: Code comprehension, a sub-domain of reverse engineering and software maintenance, is currently approached mostly from the standpoint of psychology, missing on its sociological aspects. This is possibly because available sociological theories do not seem applicable to the problem at hand. This paper proposes the use of the theory of social systems to guide the research in sociological aspects of code comprehension. It proposes to focus on social systems that stabilise the meaning, i.e. interactions. It starts with use cases to demonstrate that code comprehension may and should be treated as a social activity and that sociological theories related to meaning are relevant to the area. The paper then discussed the proposed use of the theory of social systems to show its applicability. Finally, it analyses a set of research areas to demonstrate how this theory may be used to improve our understanding of code comprehension.


Estimating the performance efficiency of ERP system with the Oracle base in a heterogenic environment

Dorożyński &
Maciej Przepiórka

Abstract: The article presents the performance testing of the commercial ERP system running in the 2W model with the Oracle database installed on the IBM mainframe platform and the business logic server and presentation layer installed on the Windows Server plat-form. The study was carried out in accordance with the developed methodology by means of recording the system function execution time indicated in the document “Time-utility profile of the [tested] ERP system”. Also, expert sessions were held. Based on the results of the research, a recommendation was made to migrate Oracle databases to the Windows Server environment.