The usage of multithreaded programs is continuously increasing, which leads to various concurrency issues. The non-deterministic approach of the thread scheduler makes the analysis of such programs complex. Thread-based visualization of the concurrent events helps to analyze a concurrent program efficiently. The extension of such visual analytics jpf-visual tool for regular JVM traces will help Java programmers to better understand and analyze the runtime execution of concurrent programs. AspectJ instrumentation with its lock() and unlock() pointcut extension makes it possible to capture important runtime events information in order to generate the JVM event trace. A successful integration of the JVM trace into the jpf-visual tool is achieved through code refactoring and the use of adapter classes. In this thesis, the implementation of such an approach is shown to analyze the concurrent events using the regular JVM. Such implementation can help to provide a generic approach for the concurrency issue analysis.
Användandet av flertrådade program ökar numera ständigt, och det kan leda till en mängd olika problem rörande samtidighet. Analysen av sådana program är komplicerad på grund av den icke-deterministiska algoritmen som används av operativsystemets schemaläggare. Visualiseringen av samtidiga händelser, baserad på trådar, hjälper oss analysera samtidiga program effektivt. Utvidgningar så som det visuella analytiska verktyget jpf-visual för JVM kommer att hjälpa Javaprogrammerare att bättre förstå och analysera körning av samtidiga program. AspectJ instrumentationen med dess brytpunktsutvidningar lock() och unlock() gör det möjligt att fånga upp viktig information rörande körningshändelser för att kunna generera ett JVM händelsespår. En lyckad integrering av JVM-spåret med verktyget jpf-visual utförs genom omstrukturering av kod och användning av adapterklasser i det existerande verktyget. Implementationen av en sådant tillvägagångssätt för standard JVM presenteras preliminärt i detta arbete, och det visar att det är möjligt att analysera samtidiga händelser genom att använda standard JVM. En sådan implementation kan bidra med en generisk lösning för analys av samtidiga program.