SmartKT(Smart Knowledge Transfer)
Key Features:
https://github.com/SMARTKT/SmartKT
1. A framework to extract and transfer knowledge related to software development and application-specific characteristics and their interrelationships in form of a knowledge graph
2. The knowledge graph provides an overall understanding of the design and implementation and can be used by an intelligent natural language query system to convert the process of knowledge transfer into a developer-friendly Google-like search
Versions:
1. Version 0.1: Applicable for C Github Repositories based on cmake utility. Release date: 14th September, 2019 on Github.
The first released and can be found at
https://github.com/SMARTKT/SmartKT
2. Version 0.1: Applicable for C ++ Github Repositories based on cmake utility. Release date: 15th May, 2020 on Github.
Publications:
Srijoni Majumdar, Shakti Papdeja, Partha Pratim Das and Soumya Knati Ghosh. SMARTKT: A Search
Framework to Assist Program Comprehension using Smart Knowledge Transfer. In International Conference on
Software Quality, Reliability & Security (QRS), pages 97-108. IEEE, 2019.
D-CUBE (Dynamic Design Discovery)
Key Features:
https://sites.google.com/site/codepoapluginforeclipse/
1. This tool is based on Dynamic Instrumentation tool PIN (from INTEL), Intel XED encoder which plugs in during execution and infers various thread models like concurrency, safety, data access, thread-pool state, exception model and like the same for multi-threaded applications at runtime.
2. The basic logic is based on feature extraction from runtime events and using decision tree as an inferencing engine to arrive at the category of the various thread models.
3. D-CUBE has been integrated with Graphviz to depict the event traces fed to the inference engine in an lucid manner.
4. A control flow graph between important routines of the program is a feature of D-CUBE which can be selectively enabled by users.
4. D-CUBE can be attached / detached on the fly without changing compiled code to reduce the overhead of dynamic instrumentation during program execution. We have also built in new commands for better flexibility.
Versions:
1. Version 0.1: Applicable for C, C++ languages, pthread libraries and Linux OS. Release date: 29th October, 2016 on Github.
The first and second version released and can be found at
https://github.com/srijoni/PluginForEclipsetoDetectConcurrencyBugs.
2. Version 0.2: Integration of D-CUBE with Eclipse and Code Blocks. Release date: 29th October, 2016 on Github.
The first and second version released and can be found at
https://github.com/srijoni/PluginForEclipsetoDetectConcurrencyBugs.
3. Version 0.3: Extension of D-CUBE to Java and parallel languages Intel Cilk++, Intel TBB and Open MP. Extension to Boost Thread libraries and Windows OS. Release date Scheduled on July, 2017 on Github.
Work on extending DCUBE with Boost thread libraries in progress.
4. Version 0.4: Integration of D-CUBE with Visual Studio Debugger. Release date Scheduled on November, 2017 on Github.
Detailed Understanding of the debugger features and libraries in progress.
5. Version 0.5: Determining execution complexity of a program by using the graphical outputs of the control flow and runtime traces of the D-CUBE. Release date Scheduled on December, 2017 on Github.
Understanding the literature of the various types of execution complexities in progress.
Publications:
Srijoni Majumdar, Nachiketa Chatterjee, Shila Rani Sahoo, and Partha Pratim Das. D-CUBE: Tool for Dynamic Design Discovery from Multi-threaded Applications using PIN. In: IEEE International Conference on Software Quality, Reliability & Security ( QRS 2016 ), Vienna, Austria, 01-03 August, 2016.
PGDB (PIN-augmented GDB)
Key Features:
https://sites.google.com/site/codepoapluginforeclipse/
1. This tool is based on Dynamic Instrumentation tool PIN (from INTEL) and is augmented with popular debugger GDB with support for datarace and deadlock detection with automated breakpoint to GDB.
2. The debugging support provided by PGDB can be attached / detached on the fly without changing compiled code to reduce the overhead of dynamic instrumentation during program execution.
3. A new set of Commands have been developed into PGDB for enhanced control over debugging of concurrency through GDB.
Versions:
1. Version 0.1: Applicable for C, C++ languages, pthread libraries and Linux OS. Release date: 29th October, 2016 on Github. The first and second version released and can be found at
https://github.com/srijoni/PluginForEclipsetoDetectConcurrencyBugs
2. Version 0.2: Integration of PGDB with Eclipse and Code Blocks. Release date: 29th October, 2016 on Github.
The first and second version released and can be found at
https://github.com/srijoni/PluginForEclipsetoDetectConcurrencyBugs
3. Version 0.3: Extension of PGDB to Java and parallel languages Intel Cilk++, Intel TBB and Open MP. Extension to Boost Thread libraries and Windows OS. Release date Scheduled on July, 2017 on Github.
Work on extending PGDB to Intel Cilk++ in progress.
4. Version 0.4: Integration of PGDB with Visual Studio Debugger. Release date Scheduled on November, 2017 on Github.
Detailed Understanding of the debugger features and libraries in progress.
Publications:
Nachiketa Chatterjee, Srijoni Majumdar, Shila Rani Sahoo, and Partha Pratim Das. Debugging of Multithreaded applications using PIN augmented GDB (PGDB). In: The 13th International Conference on Software Engineering Research and Practice (SERP15), Las Vegas, USA, July 27-30, 2015.