Software Quality

The collective experience of IT companies confirms that the maintenance of large, compound software systems consisting of several million lines of code requires quite a large amount of resources. The most significant part of these resources is consumed mainly by testing, bug-fixing, the implementation of newly encountered business requirements, and adaptation to a changing environment. The continuous code change results in an unavoidable quality decay whose decrease rate can be moderated by utilizing product- (Columbus) and process- (ISO,CMMI) based quality assurance methodologies. The Department of Software Engineering has a lot of experience in developing tools and technologies for software quality assurance. We have been conducting R&D projects in this field since 1997, and the topics of these projects range from developing source code analyzers (Java, C/C++, C#, PL/SQL, Python) to the analysis of large systems containing several million lines of source code. The technology named Columbus incorporates a wide range of tools and technologies in various areas of software quality assurance, static source code analysis, quality monitoring frameworks, quality models, test-efficiency improving approaches (automatic test-case selection, test case generation, test coverage measurement, test automation, etc.), and software architecture reconstruction.

Key Projects

REPARA-FP7

The REPARA project aims to help the transformation and deployment of new and legacy applications in parallel heterogeneous computing architectures while maintaining a balance between application performance, energy efficiency and source code maintainability. Read more

GOP-1.1.1-11-2012-0323

The overall objective of the project is to provide tools and methods for RPG/400 software quality assurance, modernizing transformations and cloud adaptations. Read more , Read more in Hungarian

GOP 1.1.1 -11-2011-0038

Research on the impact of the quality of business critical IT systems on system security, risks and costs. Developing tools and services based on source code analysis and process modelling. Read more , Read more in Hungarian

GOP 1.1.1-11-2011-0006

Development of the European based OpenDocument Format (ODF) applications by applying novel software quality assurance- and mobile technologies. Read more , Read more in Hungarian

GOP 1.1.1-11-2011-0039

Development of tools supporting the testing of applications written in fourth-generation programming languages. Read more, Read more in Hungarian

GOP 1.1.1-11-2011-0049

Development and validation of a technology supporting the reconstruction and assesment of the architecture of SaaS frameworks based on Java Enterprise platform. Read more, Read more in Hungarian

SZOMIN08

Development of a software quality assurance service package for OpenDocument Format ODF applications. Read more

OpenOffice++

Improving the Quality of Open Source Software: analysing the structural architecture and source code quality of the open source package called OpenOffice.org. (5 million lines of code)

ART-Szeged & TE-Szeged

Studying the source code analysis techniques that can effectively support the re-construction of system architecture models and improve the current code analysis tools for Symbian.

CIRENE - Cross-border ICT Research Network

Development of a methodology/platform for the functional and structural testing of embedded systems. Read more, Project website

Impact analysis (OTKA)

Research on efficient system-level impact analysis methods and their applications in software engineering. Read more

CodeMetropolis

Data visualisation with high expressive power plays an important role in code comprehension. Recent visualisation tools try to fulfill the expectations of the users and use various analogies. For example, in an architectural metaphor, each class is represented by a building. Buildings are grouped into districts according to the structure of the namespaces. We think that these unique ways of code representation have great potential, but in our opinion they use very simple graphical techniques (shapes, figures, low resolution) to visualise the structure of the source code. On the other hand, computer games use high quality graphic and have high expressive power. A good example is Minecraft, a popular role playing game that supports both high definition, photo-realistic textures and long range 3D scene displaying. Additionally, it provides great extensibility and interactivity for third party software. In this research, we introduce our mission to create a virtual world of source code in which developers and other stakeholders could explore and evaluate their project collaboratively in a virtual Minecraft world. Code properties are represented by graphical primitives offered by the game engine, and various interactivity features are planned. Read more

Key Industrial Projects

  • Design and development of a C/C++ source code analyzer frontend and the quality check of the S60 development platform.
  • Assessment and documentation of the entire IT infrastructure (hardware, software, etc.) of a large local company using the SourceInventory framework Analysis and quality assurance checks of the software systems written in ForrásSQL programming language.
  • Development of a platform and tools for the static analysis of the ForrásSQL programming language Design and implementation of a test manager framework for ForrásSQL, research on automatic test case generation for ForrásSQL.
  • Development of a platform for the quality assurance and architecture reconstruction of the Magic programming language.
    The framework named Magister continuously analyzes and evaluates the source code of Magic and reports eventual problems or issues.

Key Partners

Nokia, Ericsson, Sun Microsystems / Oracle, Erste Bank, CIB Bank, Multiráció, FrontEndART Software, Szeged Software, R&R Software

Selected Publications

Siket, I., Beszédes, Á. and Taylor, J. Differences in the Definition and Calculation of the LOC Metric in Free Tools. Technical Report, number TR-2014-001, University of Szeged, Department of Software Engineering, 2014.

Bakota T, Hegedűs P, Körtvélyesi P, Ferenc R, Gyimóthy T. A probabilistic software quality model. In: Software Maintenance (ICSM), 2011 27th IEEE International Conference on.; 2011. 2. p. 243-252p.

Vidács L, Jász J, Beszédes Á, Gyimóthy T. Combining Preprocessor Slicing with C/C++ Language Slicing. In: Proceedings of the 16th IEEE International Conference on Program Comprehension (ICPC'08).; 2008. 1. p. 163-171p.

Beszédes Á, Gergely T, Jász J, Tóth G, Gyimóthy T, Rajlich V. Computation of Static Execute After Relation with Applications to Software Maintenance. In: Proceedings of the 2007 IEEE International Conference on Software Maintenance (ICSM'07).; 2007. 2. p. 295-304p.

Beszédes Á, Gergely T, Gyimóthy T. Graph-Less Dynamic Dependence-Based Dynamic Slicing Algorithms. In: Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'06).; 2006. 2. p. 21-30p.

Gyimóthy T, Ferenc R, Siket I. Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction. In: IEEE Transactions on Software Engineering. Vol 31. IEEE Computer Society; 2005. 8. p. 897-910p.

Beszédes Á, Gergely T, Szabó Z., Csirik J, Gyimóthy T. Dynamic Slicing Method for Maintenance of Large C Programs. In: Proceedings of the Fifth European Conference on Software Maintenance and Reengineering (CSMR 2001). IEEE Computer Society; 2001. 1. p. 105-113p.

Pages