“Every little increase in human freedom has been fought over ferociously between those who want us to know more and be wiser and stronger, and those who want us to obey and be humble and submit.”
― Philip Pullman, The Subtle Knife

Personal Information

Job Researcher at University of Szeged,
Department of Software Engineering
Workplace Department of Software Engineering
Árpád square 2., Szeged 6720, Hungary

Topics of Interest

Productivity of Development Teams

Productivity describes various measures of the efficiency of production. We used the previously introduced definition of productivity, where it is expressed as the ratio of aggregate output to a single input or an aggregate input used in a production process, i.e., output per unit of input.

Two major issues that need to be addressed during software development from the manager's point of view: cost prediction and wasted effort handling. During the planning, development, and maintenance of software projects, one of the main challenges is to accurately predict the modification cost of a particular piece of code. Furthermore, several parts of the source code are usually re-written due to imperfect solutions before the code is released. This wasted effort is of central interest to the project management to assure on-time delivery.

Challenge of Cost estimation. The manager has to monitor the properties of the development process to improve it, while quantitative measurements are not able to capture intellectual and creative work, like software developments.

Software Visualization

The rapid developments in computer technology have made it possible to handle a large amount of data. New algorithms have been invented to process data, and new ways have emerged to store their results. However, the final recipients of these are still the users themselves, so we have to present the information in such a way that human beings can easily understand it. One of the many possibilities is to express that data in a graphical form. This conversion is called visualization.

Data visualization with high expressive power plays an important role in several software development-related activities, while software systems could reach virtually infinite complexity by their nature. To comprehend these systems, developers have to construct a detailed mental image. These images are gradually built during the implementation of the system. Often, these mental images are realized as physical graphics with the aid of data visualization software.

Challenge of Software Comprehension. Students and newcomers have to get familiar with the large, previously created code base and understand abstract concepts of software development, while senior developers and testers have to navigate efficiently in a usually highly complex software structure.

Software Sensing

TBA

Test and Code Quality

It is possible to implement tests as integral parts of the source of the system under test (like in the case of unit testing), written in the language of the system, and usually with the help of specialized frameworks. Consequently, these tests might be the subject of source code analysis, just as the system code itself. Source code analysis may then be used for various purposes including test code quality assessment, test comprehension, refactoring, re-documentation, and others.

Challenge of Fault Localization. Developers and testers have to locate those parts of the software and test suite, which could cause failures, those parts that violate well-established principles.

Graph’s Discrepancy Analysis

During software analysis, researchers and IT experts often rely on the comparison of datasets. They also frequently draw conclusions based on differences between two representations of the same item's set. For example, developers may examine the densely connected parts of method call graphs in the context of their location in the package hierarchy tree to find error-prone parts of the system. These kinds of analyses could be aided with a generalized methodology for graphs, which can be used to unify the underlying process of discrepancy analysis.

Challenge of Program Structure Analysis. Software development research often utilizes a comparison of various interconnected entities. For example, software analysis frequently relies on test-code connections, which are not always noted explicitly.

Projects


CodeMetropolis
See your software as never before.

bibHygeia
Housekeeping for Bibtex Files

iFL4Eclipse
Interactive Fault Localization for Eclipse

Topics Outside the Profession and Hobbies

Theoretical Linguistics

The branch of linguistics which inquires into the nature of language and seeks to answer fundamental questions as to what language is, or what the common ground of all languages is. The goal of theoretical linguistics can also be the construction of a general theoretical framework for the description of language.

Conlanging

Conlanging is creating constructed languages or conlangs, such as Esperanto, Dothraki, Lojban, or Klingon. One of its types is the artistic languages, or artlangs, which are constructed languages designed for aesthetic and phonetic pleasure. Some people prefer to take pleasure in constructing, crafting a language by a conscious decision for reasons of literary enjoyment or aesthetic reasons without any claim of usefulness.