Ákos Kiss - Research Topics

Web Browsers

Web browsers are one of the most important application platforms of today. Thus, since 2008, a team has been growing at the Department of Software Engineering, University of Szeged, focusing on the improvement of web browsers, especially on the wide-spread WebKit browser engine. We have been working on several areas of the engine, including but not limited to parallelization, graphics, JavaScript and regex evaluation, memory usage, security, and the build environment.

During the development work, several research questions arise. We have investigated the validity of JavaScript coding guidelines, the effect of parallel execution of JavaScript programs performance and memory consumption on several architectures, and the trends of the usage of regular expressions on the web. Recently, we have been focusing on the security evolution of the browser engines and on using program slicing for measuring their exposedness.


  • This work is partially supported by the GrammaTech CodeSurfer Academic Program.


Energy Consumption Simulation

Energy efficiency is key in embedded system design. Understanding the complex issue of software power consumption in early design phases is of extreme importance to make the right design decisions. We have developed XEEMU, a fast, cycle-accurate simulator, which aims at accurately simulating the power consumption of an XScale-based system including its memory subsystem. It has been validated using measurements on real hardware and shows a high accuracy for runtime, instantaneous power, and total energy consumption estimation. The average error is as low as 3.0% and 1.6% for runtime and CPU energy consumption estimation, respectively.

Recently, we have extended XEEMU to a tool set, which is capable of synchronizing several parallely running XEEMU nodes, which can communicate through a virtual wireless network and run the Linux operating system. Currently, we are working on a real enwironment model with configurable transmit/receive latencies, collisions, and packet loss, and a validated energy model of the wireless ethernet device.


  • This work was partially supported by NKTH (Hungarian National Office for Research and Technology) and BMBF (German Federal Ministry of Education and Research) within the framework of the Bilateral German-Hungarian Collaboration Project on Ambient Intelligence Systems (BelAmI).
  • This work was partially supported by the Péter Pázmány Program (no. RET-07/2005).
  • This work was partially supported by the TÁMOP-4.2.2/08/1/2008-0008 program of the Hungarian National Development Agency.



A+ is a proprietary, array-based programming language inspired by APL, developed and maintained at Morgan Stanley. It was created more than 20 years ago to suite the needs of real-life financial computations. However, even nowadays, many critical applications are used in computationally-intensive business environments.

We have developed A+.NET, a .NET-based implementation, thus allowing the interoperability between A+ and .NET programs (calling .NET methods from A+ scripts, or executing A+ code from or even embedding – as a domain-specific language – into .NET programs), and the hosting of A+ processes on Windows systems. This can extend the lifetime of existing A+ applications, unlock existing financial routines to .NET developers, and make .NET class libraries available to A+ developers.

The clean room implementation of the A+ runtime for the .NET environment is utilizing its Dynamic Language Runtime (DLR). It covers considerably large portion of the A+ language. It supports all primitive functions, operators, control statements, dependencies and callbacks of the language, together with memory-mapped files and networking.

Research-wise, we are focusing on three major areas: First of all, we would like to improve the runtime to support all language features of A+ (some minor deficiencies still exist). Furthermore, besides extending the compatibility of our implementation, we also wish to investigate the possibilities of improving its performance. This latter topic, i.e., speeding up script engines, is a huge research area on its own.

The second area we are focusing on is the analysis and comparison of the two implementations, i.e., the reference interpreter and the .NET runtime. By analysing both systems and computing several maintainability and modularizability metrics, and by evaluating their performance on a broader benchmark set, we will be able to assess the costs and gains of porting legacy interpreter implementations to new platforms.

The third area of our interest is language design. We would like to develop A+ into a modern programming language of the .NET framework. This will require the extension of the language with several concepts, like classes and objects, to foster the interoperability between A+ scripts and the host environment. Moreover, we will have to define a restricted but still useful subset of the language that is compilable ahead of execution time.


Indoor Positioning

Since the global positioning system (GPS) has been opened up for the civil domain a long time ago and GPS-enabled devices are widespread – built into trackers, mobile phones, cameras, etc. –, positioning became part of everyday life. However, GPS has its limitations: it can operate only where some of its satelites are "visible", which mostly means outdoors. Indoor positioning is still a continuous challenge for researchers and the industry.

Several physical phenomena (e.g., ultrasound reflection, radio signal interference, signal strength loss) and computational models (e.g., loss models and triangulation, fingerprinting, AI methods) have already been proposed for indoor positioning. As always, researchers have to balance between three factors: accuracy (of positioning), time (for measurement and/or for computa- tion), and cost (of the used technology, e.g., sensors). Usually, one out of these three factors has to be sacrificed for the benefit of the other two.

Currently, we are focusing on a wireless sensor network-based approach for indoor positioning, which uses the very same radio for positioning as for sensor data transmission. Such a system has the benefit that it can be easily used in or adapted to existing sensor networks with no need for an expensive hardware extension.