DocumentCode :
3727323
Title :
Code complexity estimation for Java programs
Author :
Melinda Simon;Zolt?n Porkol?b;G?bor Horv?th
Author_Institution :
Department of Programming Languages and Compilers, E?tv?s Lor?nd University, P?zm?ny P?ter s?t?ny 1/C H-1117 Budapest, Hungary
fYear :
2015
Firstpage :
232
Lastpage :
235
Abstract :
Estimating algorithmic complexity of complex software systems is important as based on such estimations we can approximate certain run-time properties of the software, like worst-case execution time or latency of critical components. These estimations are also necessary e.g. to plan with the required hardware capacity to run the software. While software design usually deals with algorithmic complexity, the actual implementation may vary from the plans. In case of industry-scale complex systems such differences are very hard to detect with manual code inspections. In this paper we propose a new approach for source level worst-case time estimation for Java programs. Knowing the presumed complexity, we try to prove whether the worst-case execution of the program suits the complexity requirements. These requirements are given in a specific DSL embedded into the code. When the supposed upper limit does not hold we identify the place in the source code where the assumption failed and emit diagnostic messages. Thus the programmer gets hint what went wrong and how to fix the problem (if possible). Complexity requirements may depend on parameters, e.g. the size of a data structure, etc., therefore our DSL interacts with the source code. The DSL is given in form of Java attributes, this way our solution is highly portable. We implemented a proof of concept prototype version of the idea and we show our results.
Keywords :
"Complexity theory","Estimation","Java","DSL","Dispersion","Program processors"
Publisher :
ieee
Conference_Titel :
Scientific Conference on Informatics, 2015 IEEE 13th International
Print_ISBN :
978-1-4673-9867-1
Type :
conf
DOI :
10.1109/Informatics.2015.7377838
Filename :
7377838
Link To Document :
بازگشت