Case study: BSB
How RevDeBug has passed the test as a profiler
It’s uncommon for a company to have 40 years of experience in IT industry. One of such businesses is BSB which was founded in 1974. It is a company with a great tradition. They were involved in laying down foundations of banking IT infrastructure in Poland and are still at the bleeding edge of banking technology innovation. Designated as a company of strategic national importance and its sole shareholder is the National Bank of Poland.
Their main specialization is the creation of comprehensive IT solutions for the banking, insurance, financial and public sectors. The company's focus is on the development of specialized IT systems for these sectors, particularly in interbank settlements, reporting and automatic fraud detection.
They are also one of RevDeBug users.
RevDeBug is most helpful in finding bugs, but recently, RevDeBug Profiler can help you also find bottlenecks and analyze performance of a program based on a historical recording. Conception of RevDeBug Profiler and automatic masking of sensitive data is tightly tied to how BSB was using our reverse debugger. The idea originated from their needs, were implemented for them first and was battle-proven on one of their top priority banking applications.
During one of the conversations with Artur Szatkowski, the Head of Development in BSB, he asked us:
"If you could have all the data and values, could you show us, how it all changed in time?"
We love this kind of feedback at meetings. Of course we can! This is one of the ideas that we have fancied earlier but we didn’t know how useful it might be to our clients. We promptly implemented this idea, and at the next meeting with Leszek Lewandowski, the Head of the .NET development team, we were able to demonstrate the new functionality. Leszek wanted to test it right away saying "I won’t be convinced until I try it myself". He began with a program that needed performance improvements.
The program in question was obligo.XBRL created solely by BSB. It implements the XBRL reporting guidelines defined in the FINREP and COREP taxonomies prepared by the National Bank of Poland in accordance with EU standards developed by the Committee of European Supervisors (CEBS). In addition, the XBRL mandate can support consolidated reporting processes within the group. That sounds complicated and so is it! The program itself really does a lot of data processing. Calculates and establish relationships between lots of values, which results in geometric progression of complexity while the application is extended.
One processing of client’s data took over 90 min to complete and it wasn’t within an acceptable range. The analysis conducted with RevDeBug Profiler has given us an immediate insight where application spend the most time.
Apart from top-view presentation of profiling data, the frequency of execution for each line of code was indicated on the editor window. This feature also has helped with the analysis.Example of the Performance window and graphs in RevDeBug
Having data on bottlenecks available like on a plate, optimizing system structure has been proven to be easy. The final effect was best described by Leszek Lewandowski:
"It was 90 minutes, now it works in 15 seconds".
And when asked how RevDeBug has helped him achieving this result, he summarized it as:
"With such a complicated program, normally I would have searched the cause for at least 5 days. With RevDeBug it took me 2 hours."
It took Leszek 80 times less time than usual to improve application’s performance so significantly.
Next, BSB will roll out RevDeBug to use with their SPERT and SWPF applications, where it will help finding bugs by remotely recording web applications on staging environment.