Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Software Engineering Economics
Software Engineering Economics
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Using Runtime Analysis to Guide Model Checking of Java Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Understanding the Behavior of Java Programs
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Discovering models of behavior for concurrent workflows
Computers in Industry - Special issue: Process/workflow mining
Automatically Inferring Temporal Properties for Program Evolution
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
Hi-index | 0.00 |
Reverse Engineering is a process of analyzing the subject system to identify its components, and relationships so as to represent the system at higher levels of abstractions to help developers understand the system for later maintenance and enhancement. Many software systems deployed in both military and industrial domains are very complex and comprise of multiple threads of control. Such systems are expensive and time consuming to build and must be evolved to meet new challenges. Hence, the challenge lies in discovering the information about the threads and their interactions for later maintenance and enhancement activities. In this paper, we have proposed a static model that analyses C++ multithreaded LINUX source code, extracts information about threads, their interactions and record their understanding. The extracted information is used for pictorial presentation and program comprehension. The details obtained from multithreaded source code is helpful in clear understanding of architecture of threads and their interactions resulting into reduced effort in maintenance and enhancement of software.