Contact details
Links
Scientific classifications
- 1.2 Computer and information sciences
- Computer sciences
- information science
Main research areas
The importance of tools supporting software development has been growing rapidly in recent decades. The source codes are so large that it is almost impossible to fully comprehend them, but at least it is a difficult and time-consuming process. Thus, the tools that support code understanding, maintenance, debugging or even provide the opportunity to transform the source code according to various aspects are becoming more and more widespread. This support can be done dynamically, i.e., at runtime, or statically without running the program. In the former case, we can obtain information by monitoring the already running software, possibly by instrumenting the code and thereby helping the developers. In the latter case, it is not necessary to run the software, we only collect information based on the source code and use it for various purposes.
In our research, we deal with the static analysis of Erlang programs. Erlang is a highly concurrent programming language designed for analysing distributed software. Its importance is also shown by the fact that every year Cisco sells 2 million devices on the market that run Erlang codes. Therefore, 90% of Internet traffic passes through nodes controlled by Erlang.
Our research focuses on fault localisation, code comprehension, program transformation, software property checking and validation. We are defining a security checking mechanism to support secure coding and the localisation of possible vulnerabilities in the source code. We are analysing the effect of the different software constructs on the energy usage to support green coding.