Seminars

Seminars of Department of Software Engineering (W8/K7)  at Wrocław University of Science and Technology and Software Engineering Section of the Committee on Informatics of the Polish Academy of Sciences

logo_io_1_en_1200x272siopan-en-white

Seminar chairs: Zbigniew Huzar and Lech Madeyski

Place: Conference room 227, building B4, Wrocław University of Science and Technology


Schedule of Seminars


12 VI V 2019 (time 15:15, room 227, building B-4)

mgr inż. Marek Sośnicki
Department of Software Engineering, Faculty of Computer Science and Management, Wrocław University of Science and Technology

Systematic literature review on mutation testing in C and C++

Majority of recent research in mutation testing is conducted using JAVA programming language, although this technique can be efficiently used in other environments. It seems to be particularly useful in applications dedicated for embedded systems which require high reliability. Such systems are often developed using C and C++ programming languages. Recently, research on many novel tools and techniques supporting mutation testing with those languages could be observed. In the presentation, the progress in systematic literature review on mutation testing in C and C++ will be presented. The main focus will be put on the problem of efficiently finding all papers from this topic. As a solution to this, a new application, dedicated to help automatize search process based on articles content, will be demonstrated.


12 VI V 2019 (time 15:15, room 227, building B-4)

mgr inż. Karolina Rączkowska-Gzowska
Department of Software Engineering, Faculty of Computer Science and Management, Wrocław University of Science and Technology

An approach to software development – the context for UML Activities

UML Activity is one of the notations used to describe a flow of an use case. In order for the flow expressed in this way to be valuable, the context in which Activity is defined (the structure of the data being processed, the design of user interfaces) is important. During the presentation, I will present the current state of work on the approach to software development (especially the system analysis), where UML Activities are used to describe the flow of an use case. I will also present the preliminary version of the survey addressed to experts (analysts, testers, developers, architects), which aims to collect information on elements included in the software specifications with which experts have worked on commercial projects.


5 VI V 2019 (time 15:15, room 227, building B-4)

mgr inż. Dariusz Gall
Department of Software Engineering, Faculty of Computer Science and Management, Wrocław University of Science and Technology

Performance requirements in software development based on MDA

During the presentation, the refinement of the MDA (Model-Driven Architecture) approach will be discussed, which takes into account the performance requirements defined at the PIM (Platform Independent Model) level and their mapping to the model at the PSM (Platform Specific Model) level.Transformations of performance requirements are a crucial element of the approach. The starting point for the transformations are the results of functional requirements transformation, i.e. PSM’. The transformation produces the PSM” model, containing the performance requirements at the implementation level. Nextly, taking into account the PSM”, the performance characteristics of the implementation platform and deployment platform, a PCM model (Palladio Component Model) is created – a performance model of the system that allows determining and testing performance characteristics using a dedicated tool.


5 VI V 2019 (time 15:15, room 227, building B-4)

mgr inż. Tomasz Lewowski
Department of Software Engineering, Faculty of Computer Science and Management, Wrocław University of Science and Technology

Data acquisition for modeling code smells

The problem of creating understandable code has been a substantial challenge for both researchers and professional developers for a long time. One of the ways to tackle this problem are so-called code smells, a concept introduced by Kent Beck and Martin Fowler in the late 90s. Their initial publication describes over 20 different code smells and their unique features. This solution got a positive reception but is still understood on an intuitive level rather than formally. This poses a significant threat to automatic detection of code smells. This research is meant to use machine learning techniques to automate code smell detection. During the presentation, the main focus will be set on the multi-phase data gathering process. I will discuss potential pitfalls that can be encountered and why avoiding them is crucial to creating a valuable data set for machine learning techniques.


5 VI 2019 (time 15:15, room 227, building B-4)

mgr inż. Małgorzata Sadowska
Faculty of Computer Science and Management, Wroclaw University of Science and Technology

Experimental evaluation of the tool for creating and validating of UML class diagrams

As part of a doctoral dissertation, a tool for creation and validation of UML class diagrams has been designed and implemented. In the process, the tool uses domain ontologies expressed in OWL 2. The presentation will focus on the design, the conduction as well as the results of the experiment aimed to empirically evaluate the developed tool. In total, 57 students from the Wrocław University of Technology participated in the experiment.


13 III 2019 (time 15:15, room 227, building B-4)

dr Ludwik Kuźniarz

The Swedish theory of graduating – what it is and how it works

The aim of the presentation is to provide an overview of the MSc teaching and graduation process at Blekinge Institute of Technology (BTH) in Karlskrona.
First, I will present an outline of the process – general idea behind the graduation, the main components of the graduation process and implementation of the process. Then, two key courses within the overall graduation process will be presented in more detail and shortly discussed. At the end, I will share some of my experience in the realization of the process at the Department of Software Engineering at BTH.


30 I 2019 (time 13:15, room 228, building B-4)

dr inż Adrianna Kozierkiewicz, dr inż Marcin Pietranik
Department of Information System, Faculty of Computer Science and Management, Wroclaw University of Science and Technology

A formal framework for processing and managing ontologies

In recent years, ontologies have become a convenient and flexible structure for processing the knowledge in computer systems. They have found a wide range of applications, spreading from weather forecasting to expert systems. Our presentation will be devoted to our latest research results and directions of development in three areas related to ontologies. In the first part, a general mathematical model of ontology will be presented, which became a theoretical basis for further research in this field. In the next step, a set of methods dedicated to estimating a potential growth of knowledge during ontology integration process will be discussed. In real solutions, we often have to make decisions based on all of the available knowledge. However, the size of the knowledge bases (which can be expressed using ontologies) does not always go hand in hand with the amount of knowledge contained in it (understood semantically). A remedy for these kind of doubts are our latest results. The proposed methods allow a fast and easy estimation of the potential growth of knowledge after an addition of a new ontology, which give an opportunity to decide whether the integration process is profitable. The last part will be devoted to the methodology of tracking changes introduced in ontologies. These modifications are caused by the need to update the ontology from the emergence of new knowledge. Such changes can have consequences in the form of outdated mappings between ontologies. Therefore, effective methods are needed to answer the question whether in the course of the ontology evolution, the designated ontology alignments are still correct and if not, how to effectively update them.


9 I 2019 (time 13:15, room 228, building B-4)

Sylwia Kopczyńska, MSc
Institute of Computing Science, Poznan University of Technology

Template-supported elicitation of non-functional requirements

Non-functional requirements (NFRs) concern performance, security, availability, etc. Unfortunately, they are frequently neglected, especially those NFRs that are difficult to write or seem ostensibly obvious. Such behavior is an important risk factor in software projects as, in many cases, improper management of NFRs is one of the root causes of project failures.

One of the approaches to support elicitation of NFRs is using a catalog of templates. Templates are natural language statements with some parameters (gaps) to fill in and optional parts to select during elicitation.

During my presentation I will focus on the following three questions concerning elicitation of NFRs:

  1. Are NFRs important in agile software development approaches?
  2. What do we know about the benefits and costs concerning NFR templates?
  3. Is user feedback left in online app stores a promising source of NFRs, and in consequence for improvement of NFR templates?

5 XII 2018 (time 13:15, room 228, building B-4)

mgr inż. Michał Adamski
Capgemini Wrocław

The power of the user’s opinion in the enterprise software delivery process

We live in the experience era. According to Microsoft by 2020 customer experience will be more important than product or price as brand differentiator. As consumers we are used to modern apps and services on the Internet that fulfill our needs. As employees we’re often forced to use the tools (Who doesn’t use software as a tool on a daily basis?), which are hard to use, no intuitive and often add complexity rather than simplicity to our work. The reason for that is ignoring the users’ voice in the software delivery process. Involvement of the end users allows to find out their real needs and identify the problems and frustrations they face every day.

I will explain how we use the user experience design process to design and deliver the software that meets both the users’ needs and business expectations. I will focus on the benefits of involvement of the user in the research and testing phase and on the power of a quick prototyping.

It is still not common to invest in the user experience design in the corporate environment where tons of money is spent on new software and digitalization initiatives. I will familiarize you with the challenges, we designers face while introducing this approach in the corporate world.


21 XI 2018 (time 13:15, room 228, building B4)

dr inż. Bartosz Baliś
Department of Computer Science, AGH University of Science and Technology

Development and execution of scientific applications using the scientific workflow paradigm

With growing complexity of scientific computations and unprecedented capabilities provided by distributed computing infrastructures, development and execution of scientific applications remains as challenging as ever. Scientific applications often have the structure of multi-step pipelines, therefore scientific workflow has been adopted as a paradigm for managing scientific computations. Scientific workflow facilitates science automation by providing a convenient level of abstraction for expressing a scientific problem as a graph of tasks, and shifting the complexity related to deployment and execution of scientific applications onto a Workflow Management System. Adopting the workflow paradigm also facilitates experiment reproducibility, essential in the scientific method. In this talk, research on HyperFlow — a model of computation, programming approach and a management system for scientific workflows — will be presented. The purpose of HyperFlow is to provide a productive ecosystem for workflow programming, execution, and for conducting workflow research. The talk will introduce the HyperFlow model of computation and its programming capabilities, followed by research results regarding workflow execution management in distributed computing infrastructures (clouds). Finally, research related to applications of the HyperFlow system in such areas as urgent computing and parallelization of typical HPC applications in cloud infrastructures will be presented.


4 VII 2018 (g. 13:15)

mgr inż. Tomasz Lewowski
Department of Software Engineering, Wrocław University of Science and Technology

Machine learning in code smell detection – a literature review

“Code smells” are patterns in the source code which are believed to be error-prone and hard to maintain. While there are many publications on the subject, reliable literature review still poses significant difficulties. Difficulties encountered during the systematic review of machine learning usage for code smell detection will be presented in the seminar, together with a preliminary summary of gathered data.


6 VI 2018 (g. 13:15)

mgr inż. Marcin Stachowiak
Department of Software Engineering, Wrocław University of Science and Technology

Automatic generation of source code patches using deep learning

Abstract: Machine learning is increasingly used in industry, including software development. Many attempts have been made to use artificial intelligence to improve the quality of processes and products manufactured in software engineering. However, these solutions are still not widely used, mainly due to the low effectiveness of the results achieved and the costs of using machine learning to support decisions in IT projects. During the seminar specific examples, where artificial intelligence can assist programmers, architects, testers and project managers will be presented. The presented possibilities of using machine learning in Software Engineering will based on the Systematic Literature Review that already has been made in a large part. Particular attention will be focused on the issue of automatic generation of source code patches and the use of deep learning and reinforcement learning algorithms for this purpose.


9 V 2018 (g. 13:15)

mgr inż. Karolina Rączkowska
Department of Software Engineering, Wrocław University of Science and Technology

Formalization of UML activities used for describing use case scenarios

Abstract: UML is a widely-used language for software modeling. Activities are constructs used for, among others, describing the flow of use case scenarios. The lack of a formally-defined semantics (given in UML specification in a natural language) is a crucial obstacle in a model checking, important while automating process of a software development. For this reason, formalization of the semantics of UML constructs is significant. While working on the doctoral dissertation, a formalization of the semantics of UML activities will be proposed, as well as a tool for validating the consistency between an activity and an intention of a modeler. In this talk, I will present an idea of my doctoral dissertation and current status of the work – results of the UML specification analysis for identification of issues with the semantics of activities.


25 IV 2018 (g. 13:15)

dr inż. Grzegorz Filcek
Department of Computer Science, Wrocław University of Science and Technology

Introduction to SysML as a system engineering language

Abstract: The basic information about the SysML language, its use in the system life cycle, as well as the similarities and main differences with regard to UML will be presented. In particular, language-specific diagrams used for systems description will be presented and discussed. During the seminar, an example of using the language in designing a simple system will be presented, which will illustrate the idea of the diagrams discussed. The active participation of seminar participants in the discussion on the use of this language in the design of information systems, and commenting on its currently discussed elements will be appreciated.


28 III 2018 (g. 13:15)

dr inż. Arkadiusz Liber
Department of Software Engineering, Wrocław University of Science and Technology

Algebraic Methods of Digital Signature Algorithms Formulation Based on Infinite Support Abstract Group Representations

Abstract: The concept of digital scheme signature was proposed by Diffie and Hellman in 1976. This idea caused possibility to replace commonly applied handwritten signature by mathematical solution. Digital signature algorithms have been usually considered as triplets (Ag, As, Av) where algorithms of the keys generation, algorithms of the signing and algorithms of the signature verification are based on difficult problems in number theory. The most of applied solutions are based on the discrete logarithm and the factorisation problems. In 1994 Peter Shor proposed the quantum factorisation algorithm which complexity is lower than complexity of classical equivalent. The quests of the new cryptographical schemes and the new classes of the digital signature schemes have been resumed.In this paper results of the research of the recent algebraic structures suitable for design and implementation of digital signature algorithms was presented. Especially extensions of finite groups Gp and Gpq, groups generated by algebraic curves and groups of divisors in algebraic varietes were presented. Proposed in 1925 by Artin, infinitive non-commutative braid groups are described in the context of the support for digital signature scheme. The Burau matrix representation of Bn over the ring of the Laurent polynomials were used. The analysis of implementation of WalnutDSA, Wang and Hu, Kahrobaei and Koupparis signature schemes were conducted.


14 III 2018 (g. 13:15)

dr Piotr Nawrocki
Department of Computer Science, Faculty of Computer Science, Electronics and Telecommunications, AGH University of Science and Technology

Methods and mechanisms to ensure preservation of quality-related parameters for services provisioned in computer systems with variable availability of resources

Among the most important modern concepts guiding the use and management of services special attention should be devoted the concept known as SOA (Service Oriented Architecture). In line with this concept, a service should be universal and capable of operating regardless of the underlying hardware architecture. It should also expose a well-defined interface/contract and rules of operation, include business/technical aspects, have a modular structure, be loosely coupled to other services, support introspection and registry-based queries, and remain available regardless of the data transfer mechanisms in use. This list of static requirements is further supplemented by certain dynamic requirements – notably QoS (Quality of Service) and SLA (Service Level Agreement) parameters, which are context-independent (for example, they may specify peak power consumption or maximum demand for network bandwidth). These parameters collectively describe the environment in which the service operates, and are often difficult to enforce. This is due to the fact that modern computer systems are progressively transitioning to dynamic environments where changes in the availability of resources must be taken into account. Meeting QoS and SLA requirements in such dynamic environments presents a new, complex problem which has not heretofore been widely studied. The perceived lack of comprehensive solutions constitutes the author’s motivation for undertaking the presented research. The goal of the author’s research was to develop methods and mechanisms which would enable service parameters – including QoS and SLA parameters – to be retained in systems characterized by variable availability of resources. Consequently, the author has developed methods and mechanisms for retrofitting services with intelligent features, facilitating adaptation of each service to its dynamic context, enabling quality-related parameters to be preserved.


6 XII 2017 (g. 13:15)

mgr inż. Małgorzata Sadowska
Department of Software Engineering, Wrocław University of Science and Technology

Use of domain ontologies expressed in OWL 2 in the process of validation of UML class diagrams

Abstract: The domain ontologies are a source of domain knowledge about the specific areas of interest. As part of the dissertation work, the prototype tool for semantic validation of UML class diagrams has been designed and implemented. The tool in the process of validation uses domain ontologies expressed in OWL 2 in order to automatically recognize whether the designed class diagram is compliant or contradictory to the selected OWL 2 domain ontology. The presentation will focus on the validation method, the prototype tool and the examples of its application.


8 XI 2017 (g. 13:15)

mgr inż. Aleksander Mariański
Department of Software Engineering, Wrocław University of Science and Technology

Application of analytic hierarchy process to web service selection problem using random variables

Abstract: Analytic hierarchy process is well known, constantly developed and widely applied decision making method. Modular probabilistic analytic hierarchy process was created during PhD studies. This process allows one to make decisions in situations where statistical data on selected criterias exist. This process can be applied to problems with a large number of decision variants and when the values of selected criterias are expressed by random variables. During the presentation a literature analysis, a description of probabilistic analytic hierarchy process, a solution to web service selection problem using the process and other possible applications of the process in actual problems will be introduced.


12 IV 2017 (g. 13:15)

dr Krzysztof Wnuk
Blekinge Institute of Technology, Karlskrona, Sweden

Requirements Engineering 2.0 – challenges and opportunities

Abstract: This talk summarizes the current changes in the Requirements Engineering research and practice. The author is surveying how requirements engineering has evolved the last decade and what impacts it has on software business and software engineering. The current trends involve user-driven and data-driven requirements engineering, combined with the pressure for shorter time-to-market and incremental product value delivery and verification have put new constraints and requirements on techniques and methods for eliciting and analyzing requirements. The talk concludes with the list of research opportunities that are discussed and evaluated together with the audience.


5 IV 2017 (g. 13.15)

dr inż. Maciej Malawski
Department of Computer Science, AGH University of Science and Technology

Resource Management for Scientific Applications in Computing Clouds

Abstract: Today’s science requires increasingly more and more resources for computing and data storage. Cloud computing, based on earlier solutions such as distributed systems and grid infrastructures, has become a promising source of resources for scientific applications. Examples on which this presentation is focused include component-based applications, scientific workflows and their ensembles, as well as bag-of-task applications. Resource management in such environments should take into account performance and cost, but also such features of cloud infrastructures as delays, variability, failures, granularity of access to resources and their billing, as well as data access methods. The main achievements of the presented research include: development of component model for scientific applications in clouds, development of application and infrastructure models for hybrid computing clouds, development of models optimizing cost of execution of application in clouds, and development of new resource provisioning and scheduling algorithms. We report also on experimental studies, including performance evaluation in clouds, development of simulator for workflow ensembles, confirmation of effectiveness and performance of optimization models and algorithms for a wide range of parameters, and measurement of cost-performance trade-off curves. for resource management algorithms. The results of the research may lead to better understanding of operation and utilization of modern computing resources.


1 III 2017 (g. 13:15)

mgr inż. Przemysław Plecka
Koszalin University of Technology

Method of the pre-implementation cost estimation of software changes in a selected class of ERP systems

Abstract: Known methods of estimating the cost of ERP software does not take into account the collected and accumulating the experience from previous implementations. In this context, the purpose of the undertaken research was to develop a new estimation method for software (ERP) customisation that provides more precise results and is more cost-effective in comparison to already-known methods. The dissertation presents a hypothesis that the ontological model of implementation parameters with fuzzy attributes allows to develop a cost estimation method which gives more precise results at lower costs, in comparison to currently available methods. The following results were obtained in the framework of research: meta-model of implementation parameters estimation and operations that can be used were identified, model of implementation costs with fuzzy attributes based on metamodel definitions was defined to meet data quality requirements to a larger extent than currently known methods, method of implementation cost estimation – fuzzy SKW, using a fuzzy OMKW model.Usefulness of fuzzy SKW method was verified.The results of the research prove the implementation of the dissertation objective and the research hypothesis.


11 I 2017 (g. 13:15)

mgr inż. Tomasz Lewowski
Wrocław University of Science and Technology

Usage of static analysis to detect inconsistencies in source code patterns

Abstract: Static code analysis is a popular technique used for detecting potential defects and risky patterns in source code. Research in this area has been mostly focused on matching known structural patterns to the analyzed source code, data flow analysis and fully formalized proofs of programs’ properties. A new approach to static analysis – dedicated to detection of low-level architectural decisions and programming conventions which might have been lost during program development – will be presented. Possible applications of a tool providing such features will be shortly discussed.


21 XII 2016 (g. 13:15)

dr inż. Piotr Zabawa
Tadeusz Kościuszko Cracow University of Technology

Context-Driven Meta-Modeling Paradigm (CDMM-P)

Abstract: In contrast to the class-object paradigm, which is commonly used for defining modeling languages (meta-modeling) but requires all meta-model elements to be defined at compile time, the presented new paradigm of Context-Driven Meta-Modeling (CDMM-P) makes it possible to define a graph modeling language at run-time. This approach significantly increases the ease of defining new modeling languages, helps to customize existing languages (like UML), facilitates introduction of changes to modeling languages (own, previously defined), helps to conduct the evolutionary meta-modeling process. As the first, the CDMM approach makes it possible to generate at run-time the tool for model-driven generating software project source code and other project artifacts – the structure of this tool reflects the meta-model structure. In comparison to Object Management Group (www.omg.org) standards the presented approach constitutes their far-reaching generalizationAbstract: Static code analysis is a popular technique used for detecting potential defects and risky patterns in source code. Research in this area has been mostly focused on matching known structural patterns to the analyzed source code, data flow analysis and fully formalized proofs of programs’ properties. A new approach to static analysis – dedicated to detection of low-level architectural decisions and programming conventions which might have been lost during program development – will be presented. Possible applications of a tool providing such features will be shortly discussed.Abstract: Static code analysis is a popular technique used for detecting potential defects and risky patterns in source code. Research in this area has been mostly focused on matching known structural patterns to the analyzed source code, data flow analysis and fully formalized proofs of programs’ properties. A new approach to static analysis – dedicated to detection of low-level architectural decisions and programming conventions which might have been lost during program development – will be presented. Possible applications of a tool providing such features will be shortly discussed. and Model-Driven Architecture (MDA) standards are an example of many possible application domains of CDMM-P. From the ontological point of view and its standards like RDF or OWL the presented solution fits in open ontologies (however with restrictions to the model structure resulting from the meta-model structure), which were not applied in software engineering earlier.

Applying CDMM-P makes it possible to break many contemporary limits in meta-modeling, among the others to eliminate the barrier of long lasting standardization process by OMG blocking the applicability of newest technologies, long lasting absence of tool support (in Model-Driven Design approach) for these technologies, no possibility for introducing notions existing currently just as concepts to the meta-model.


30 XI 2016 (g. 13.15)

dr hab. inż. Piotr Kosiuczenko, prof. nadzw.
Military University of Technology

Contractual specifications as a research subject

Abstract: Contractual specification languages, such as JML and OCL, are well known and widely used. They are also the topic of university courses in computer science. Nevertheless, there are still some fundamental research problems. In this talk, we will discuss research results concerning this kind of specification. We will discuss some problems concerning their implementation, in particular the implementation of the operator @pre, and the problem of invariability specification in OCL. In this talk, we will focus on the problem of the visualisation of contractual specifications with UML State Machines and describe a method for the synthesis of state machine from contracts.


9 XI 2016 (g.13.15)

dr hab. inż. Krzysztof Krawiec, prof. nadzw.
Poznań University of Technology

Behavioral Program Synthesis with Genetic Programming

Abstract: A running program may exhibit complex behavior, not only in terms of the produced output, but also regarding the execution states it traverses. In program synthesis as practiced with conventional genetic programming, only a fraction of that behavior, usually compressed into a scalar fitness, is used to navigate the search space. This ‘evaluation bottleneck’ leaves a search algorithm underinformed about the actual and potential qualities of candidate programs. Behavioral program synthesis aims at providing search algorithms with richer information on a program’s operating characteristics, and so making them better informed and thus more efficient. In this talk, I will present the motivations and interesting features of the behavioral perspective, show how the existing approaches fit into it, and discuss the implications for program synthesis and automated design of algorithms.


2 XI 2016 (g.13.15)

dr hab. inż. Tadeusz Gospodarek, prof. nadzw.
WSB University in Wrocław

From non-mathematical concepts of management queries to their formal representations in ERP systems

Abstract: Modeling of information systems supporting the decision making in economics or management practice must be handled as two logical layer set at the same time. On the one hand it is necessary to create a semantic model of of the economic problem, which allows one to create univocally a numeric representation of the decision-making criterion and/or synthetic information based on source data. From the other hand, it is necessary to create paralelly suitable models of information processing data at different levels of interoperability. Both, these procedures are subject to cascade modeling from the ontological model to the syntactic one. The most important problem is to obtain interoperability of both type of models on the semantic level. The main goal at this point is to achieve the semantic equivalence between the economic model and the IT one. An example of such the approach are ERP systems and a problem related to their fit to real organization: should the organization has to adjust to IT technologies, or vice versa? Part of the lecture will be devoted to issues of fit the organizational culture to the level of complication of the applied IT technology in the context of adaptative economic and management models at the semantic level.