Toward Language Independent
Worst-Case Execution Time Calculation
GORDANA RAKIĆ and ZORAN BUDIMAC, Faculty of Science, University of Novi Sad
Set of Software Quality Static Analyzers (SSQSA) is a set of software tools for static analysis that is incorporated in the framework
developed to target the common aim – consistent software quality analysis. The main characteristic of all integrated tools is the
independency of the input computer language. Language independency is achieved by enriched Concrete Syntax Tree (eCST) that is
used as an intermediate representation of the source code. This characteristic gives the tools more generality comparing to the other
similar static analyzers. The aim of this paper is to describe an early idea for introducing support for static timing analysis and Worst
Case Execution Time (WCET) calculation at code level in SSQSA framework.
Categories and Subject Descriptors: D.2.8 [Software engineering]: Metrics - Performance measures
General Terms: Languages, Experimentation, Measurement
Additional Key Words and Phrases: Worst case execution time, language independency
1. INTRODUCTION
The quality of each product, and therefore also the quality of the software product, can be described as the
degree to which a given product meets the needs and requirements of users. Software quality model
defined by standard ISO 9126-1
1
distinguishes six attributes of software quality: functionality, usability,
reliability, efficiency, portability, and maintainability.
The mentioned attributes of software quality can be monitored, evaluated, and controlled at early
stages of software development by examining the source code and other static artefacts, or during the
execution and testing process. Assessment of software quality attributes that is made on the source code
or any of its internal representations without executing the program is called static analysis, while
analysis of the program during execution time is called dynamic analysis. In the modern approach of
software development, a great importance is given to monitoring and quality control in the early stages of
development. Therefore static analysis becomes more important.
One of the important quality attributes of real-time systems is the execution time. It is highly
important for these systems to provide required services on time. One of the parameters to be measured
in order to guarantee this attribute in real-time system quality monitoring is Worst Case Execution Time
(WCET) [Wilhelm et al. 2008; Lokuciejewski and Marwedel 2009; Lokuciejewski and Marwedel 2011]. It
is measured as a part of timing analysis and provides value of the longest execution time of a program
that can ever occur. It can also be predicted as a part of static analysis as well as measured as a part of
dynamic analysis.
This paper provides early research toward support of static timing analysis and WCET calculation in
SSQSA framework. In doing that, we shall take ALF as a domain specific language for WCET [Gustafsson
et al. 2009] as our starting point and import the basic timing data into a SSQSA framework. The main
difference between SQQSA set of static analyzers and ALF is in their level of abstraction: while ALF is
intermediate language, enriched Concrete Syntax Tree - eCST (on which SSQSA framework is based) is a
universal intermediate data structure. Furthermore, there are only several translators to ALF (C, C++,
This work was partially supported by the Serbian Ministry of Education, Science and Technological Development through project
"Intelligent Techniques and Their Integration into Wide-Spectrum Decision Support", no. OI174023 and by EU ICT COST action
IC1202 "Timing Analysis on Code-Level (TACLe)".
Author’s address: G. Rakić, Z. Budimac, Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad,
Trg Dositeja Obradovića 4, 21000 Novi Sad, Serbia, email: {goca, zjb}@dmi.uns.ac.rs.
Copyright © by the paper's authors. Copying permitted only for private and academic purposes.
In: Z. Budimac, T. Galinac Grbac (eds.): Proceedings of the 3rd Workshop on Software Quality, Analysis, Monitoring, Improvement,
and Applications (SQAMIA), Lovran, Croatia, 19.-22.9.2014, published at http://ceur-ws.org.
1
http://www.sqa.net/iso9126.html
10