Richard Lipka

dblp:61/9788 · DBLP profile ↗
← Back
10ranked-venue papers
4as first author
2since 2021 · last 2023
0000-0002-9918-1299ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 6 · 2 first-author · 2 since 2021Software engineering, systems software and programming languages · 6 · 1 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 2 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 first-author
YearPublicationVenuePosition
2023 Current Trends in Automated Test Case Generation
abstract
The testing is an integral part of the software development.At the same time, the manual creation of individu-al test cases is a lengthy and error-prone process.Hence, an intensive research on automated test generation methods is ongoing for more than twenty years.There are many vastly dif-ferent approaches, which can be considered automated test case generation.However, a common feature is the generation of the data for the test cases.Ultimately, the test data decide the prog-ram branching and can be used on any testing level, starting with the unit tests and ending with the tests focused on the behavior of the entire application.The test data are also mostly independent on any specific technology, such as programming language or paradigm.This paper is a survey of existing litera-ture of the last two decades that deals with test data generation or with tests based on it.This survey is not a systematic literature review and it does not try to answer specific scientific questions formulated in advance.Its purpose is to map and categorize the existing methods and to summarize their common features.Such a survey can be helpful for any teams developing their methods for test data generation as it can be a starting point for the exploration of related work.
Tomas Potuzak, Richard Lipka
FedCSIS2
2021 Semi-automated Algorithm for Complex Test Data Generation for Interface-based Regression Testing of Software Components
abstract
This paper describes in detail the Complex Object Generation (COG) algorithm, which is a semi-automated algorithm for the generation of instances of classes (i.e., objects) with a complex inner structure for Java and similar languages designed for black-box testing (i.e., without available source code).The algorithm was developed and tested as a stand-alone algorithm and can be used as such (e.g., during unit testing).However, we plan to use it to generate the parameter values of generated method invocations, which is a vital part of our interface-based regression testing of software components.
Tomas Potuzak, Richard Lipka
FedCSIS2
2019 Search for the Memory Duplicities in the Java Applications Using Shallow and Deep Object Comparison
abstract
In high-level object languages, such as Java, a problem of unnecessary duplicates of instances can easily appear.Although there can be a valid reason for maintaining several clones of the same data in the memory, often it indicates that the application can be refactored into a more efficient one.Unnecessary instances consume memory, but in case of Java applications can also have a significant impact on the application performance, as they might prolong the time needed for the garbage collection.In this paper, we are presenting a method and a tool that allows detecting duplicity in the heap dump of a Java application, based on the shallow and deep object comparison.The tool allows to identify the problematic instances in the memory and thus helps programmers to create a better application.On several case studies, we also demonstrate that the duplicates appear not only in the student projects and similar programs that often suffer from poor maintenance but also in commonly available Java tools and frameworks.
Richard Lipka, Tomas Potuzak
FedCSIS1
2018 Deep Object Comparison for Interface-based Regression Testing of Software Components
abstract
In this paper, we describe the deep object comparison (DOC) algorithm, which is used for comparison of general objects in Java programming language based on their internal structures and values of primitive attributes.The DOC algorithm was designed to be utilized in our interface-based regression testing of software components, which enables to uncover subtle changes of the behavior of a component-based application under test with a newly installed version of a software component in comparison to its behavior with an old version of this component.
Tomas Potuzak, Richard Lipka
FedCSIS2
2017 Interface-based Semi-automated Testing of Software Components
abstract
The component-based software development enables to construct applications from reusable components providing particular functionalities and simplifies application evolution. To ensure the correct functioning of a given component-based application and its preservation across evolution steps, it is necessary to test not only the functional properties of the individual components but also the correctness of their mutual interactions and cooperation. This is complicated by the fact that third-party components often come without source code and/or documentation of functional and interaction properties. In this paper, we describe an approach for performing rigorous semi-automated testing of software components with unavailable source code. Utilizing an automated analysis of the component interfaces, scenarios invoking methods with generated parameter values are created. When they are performed on a stable application version and their runtime effects (component interactions) are recorded, the resulting scenarios with recorded effects can be used for accurate regression testing of newly installed versions of selected components. Our experiences with a prototype implementation show that the approach has acceptable demands on manual work and computational resources.
Tomas Potuzak, Richard Lipka, Premek Brada
FedCSIS2
2017 Antipatterns causing memory bloat: A case study
abstract
Java is one of the languages that are popular for high abstraction and automatic memory management. As in other object-oriented languages, Java's objects can easily represent a domain model of an application. While it has a positive impact on the design, implementation and maintenance of applications, there are drawbacks as well. One of them is a relatively high memory overhead to manage objects. In this work, we show our experience with searching for this problem in an application that we refactored to use less memory. Although the application was relatively well designed with no memory leaks, it required such a big amount of memory that for large data the application was not usable in reality. We did three relatively simple improvements: we reduced the usage of Java Collections, removed unnecessary object instances, and simplified the domain model, which reduced memory needs up to 88% and made the application better usable and even faster. This work is a case-study reporting results. Moreover, the employed ideas are formulated as a set of antipatterns, which may be used for other applications.
Kamil Jezek, Richard Lipka
SANER2
2016 Scalable timeline visualization
abstract
Visualization of the timelines is commonly used in many different areas, such as historical education, medical systems, criminal investigations or social networks. In order to understand presented data, it is desirable to display not only the information itself, but also the relations between visualized entities and other, more detailed information, that will simplify orientation in the created timeline. As many of such information can be obtained from automatic sources, the amount of displayed data can be quite large and it is necessary to find a ways how to facilitate the navigation in the visualized data set. We present a method based on the PageRank evaluation of importance of each visualized entity, along with the tagging that allow user to specify which topics are interested to him. We describe the way how the weight of each entity is calculated and how is the whole visualization created. Along with this, we also present a small user study that we performed to validate our approach.
Richard Lipka
HSI1
2015 Analysis of fitness function of genetic algorithm for road traffic network division
abstract
In this paper, the analysis of the fitness function of a genetic algorithm is discussed. This genetic algorithm is used by a method for the road traffic network division. The division of the road traffic network into a number of sub-networks is a part of necessary preparations for a distributed road traffic simulation. The fitness function consists of two parts reflecting two important issues of the road traffic network division - the load-balancing of the resulting sub-networks and the minimization of the number of divided traffic lanes. During the optimization and refactoring of the division method, it was discovered that the fitness function of the genetic algorithm is flawed, but gives better results than a new (repaired) fitness function. Hence, the working of the original fitness function was analyzed and the new fitness function was adjusted to give similar or better results than the original fitness function.
Tomas Potuzak, Richard Lipka
HSI2
2013 SimCo - Hybrid Simulator for Testing of Component Based Applications
Richard Lipka, Tomas Potuzak, Premek Brada, Pavel Herout
SOFSEM1
2009 System For Comparison Of Traffic Control Agents' Performance
abstract
We present a method and software for comparison of different road traffic control systems based on using of software agents. In last years, the agent-based traffic control is often discussed. Many agents were designed, but there is no way how to compare them in the same situation. Our system is designed to allow placement of different traffic control agents in simulated traffic network. Afterwards, a simulation is run and performance of control agents is measured. The traffic conditions are the same for all tested agents; it is possible to use several different scenarios. Agents can be subsequently compared, because they had operated in the same conditions.
Richard Lipka, Pavel Herout
ECMS1