SlideShare a Scribd company logo
JAVA PRODUCTIVITY
        CREATOR & ANALYZER
          PRODUCTIVITY AIDS TO TRACK THE CONTROL FLOW,
         PARSING OF THE CODE - ANALYZER AND LOG READER

The project deals with developing tools, which help in enhancing the activities at
different stages in the software development life cycle (SDLC).
The tools will fall under the category of CASE tools, which enable sophistication
during the software development.


AIM OF THE PROJECT
                            DEVELOPING TWO TOOLS
(a)   Code Analyzer (jBrowser ) and
(b)   Log Reader


CODE ANALYZER (jBrowser)
A tool that would track the control flow between various classes in JAVA platform
and (b) Log Reader - A tool that would help in presenting the log files of any server
in a more presentable form
The jBrowser would be a tool that would help the user track control flow between
java classes via method calls. Given a starting point, this tool tracks the entire path
within a particular location spotting various method calls under different scenarios.
We aim at building this tool as an effective tool to understand the control flow while
reengineering and reverse engineering and as a testing tool which would identify
the broken links between the java classes.
The Log Reader is another simple tool. This tool focuses on presenting the user
with a user friendly GUI, using which the user can query and extract useful
information from the log files generated by an application server in an interactive
and understandable manner.
The jBrowser can be classified as a tool for code analysis. In spite of there being
numerous tools for code analysis, all these tools are more bothered about
analyzing the program on issues relating misuse of the programming language as
such. They look out for potential bugs in the code and focus more on the code
structure.
Not many systems have targeted to track and analyze the control flow via method
calls between classes. The tools available to aid programmers in examining the
various components of a java component most of them are restricted to the class
level.
These tools primarily incorporate a single level of component display where
developers can view the various methods calls, object references and data types
that are declared within the scope of that particular class. No tool has displayed a
multilevel tracing technique for Java.
This may be attributed to the free formed nature coupled with the extensive set of
class level and multiple class level manipulations (Packages, Inheritance,
Overloading, Interfaces, Abstract and Virtual methods).
The tool unlike these traditional code analyzers, gives a new perspective to code
analysis. This tool requires a method name within a class as a start point. The tool
from the given starting point proceeds to track and identify the control flow to
various other classes via method calls from the starting point.
The tool employs exhaustive and efficient parsing to identify the various possible
ways of method calls. The tracked information is stored onto the file systems in
form of ‘XML’ files which is portable and can be used for any other applications.
The ‘XML’ file is then applied with an XSL transformation and presented as a
‘HTML’ file, which represent the extracted information in a simple user
understandable format. The concept of loggers comes into play in case of
networks where in there is an administrator monitoring the activities of the user.
Most servers have efficient methods for maintaining the log information. But the
drawback is in the representation of such details.
The servers monitor such logging information and maintain the details using
special log files. These files however represent information in form of raw textual
data which is very difficult for the users to understand. The entire purpose is lost
when the maintained files are in form of raw data, which is extremely difficult to
understand. The tool will perform an efficient parsing on the log file (systemout.log)
to store information onto convenient data structures in an explicit manner.
The GUI presents the user with an interface which enables the user to query the
information stored in the log file. The user is allowed to specify filter variables on the
basis of which the entire domain of data is filtered and displayed to the user according
to his need. The tool’s interface depicts a SQL command with graphical components
such as buttons, text fields, combo boxes, tables, etc. to perform the querying.


MODULAR DESIGN
The jBrowser is a tool which as specified above deals with tracking the control flow
between java classes via method calls. The jBrowser employs a phase strategy to
achieve its desired task.
                        The two phases involve 4 modules.
The four modules of the jBrowser are
1.   Pre-Parsing Processing
2.   Parsing
3.   Storing and Manipulation
4.   Building XML and presenting with a XSLT.
Code Analyzer (jBrowser)
The first there modules belong to the first phase which involves in building the
output. All the three modules interact with the file sub-system and a common back
end data store to build the output.
The three modules are employed in a recursive manner to make the system
generic and achieve optimization

PRE-PARSING PROCESSING (3P)
The 3P phase involves the creation and maintenance of several lists and other
data structures which support parsing. Since recursion is the main idea behind this
tool, 3P is involved at every iterative levels of recursion.
It is named Pre-Parsing because this phase does not involve any parsing of the
source code. This is simply to create and initialize data that would aid and facilitate
efficient parsing.


PARSING
The code analyzer (jBrowser) parsing forms the back bone as it is the module
which scans through the java files to identify method calls. To achieve this, an
exhaustive tracking of method calls through different classes is done.
This process requires efficient usage of certain data structures. It is imperative to
efficiently utilize minimal system resources to handle multiple method calls through
multiple levels.
Given these basic requirements, the parser is designed to identify and handle the
following
•   Identify Object Declarations.
•   Maintain a Class-Object mapping which is necessary for identifying method calls.
•   Identify method calls.
•   Resolving method calls inside conditional statements (if and if..else).
• Update the central database
As stated earlier, before getting on to the actual parsing there is a Pre-Parsing
Processing (3P) done. The 3P phase involves the creation and maintenance of
several lists and other data structures which support parsing.
Since recursion is the main idea behind this tool, 3P is also involved at every
iterative levels of recursion. It is named Pre-Parsing because this phase does not
involve any parsing of the source code. This is simply to create and initialize data
that would aid efficient parsing


STORING & MANIPULATION
the information is extracted from the java file, they need to be stored for future
manipulations. There are several ways of storing data. Files, database tables and
data structures are some very common ways of storing data.
•   File system: This is the most common way of storing data, however the data
    stored when needs to be extracted, an exhaustive parsing on that specific file
    needs to be carried out. This does increase the system overhead by causing
    exhaustive usage of memory.
•   Database table: This is an efficient way of handling bulk volumes of data. These
    databases normally run on separate database servers, serving as backend data
    storage. In applications such as the above they may not be apt as they demand
    high system requirements.


BUILDING OUTPUT
Now that the entire process of getting necessary information from the files and
storing them onto a temporary data structure is over, the information gathered
needs to be stored onto a permanent destination.
Of the several ways storing files, we prefer to store them in form of a XML file. This
file format makes the output portable as they could serve as inputs for several
other applications and is also easy to transfer over communication mediums.
The gathered information is stored in an XML using a simple DTD. The DTD for the
XML is designed, keeping in mind the information which needs to be represented
or stored.
Every element of the XML is called a node. There aren’t much details specified
with the element as such. The attributes of each of these elements take care of
storing and representing data



LOG READER
MODULAR DESIGN
The log reader is a simple java based tool aimed at parsing through log files and
extract information from them based on user requests. Log files have always been
cramped and generally deciphering information from the bulk of data present in
them is a tedious task.
This tool (currently developed for IBM Websphere based log files) is aimed to
improve the readability and usefulness of log files. An interactive GUI depicting a
SQL command is employed for retrieval of information from the back end data
store.
The log reader comprise of the following modules
1. Identifying information
2. Filtering and presenting data.
To first module is concerned with gathering information from the log file
(systemout.log). This module will perform an exhaustive parsing on the log file
trying to extract information which would needs to be presented to the user.
Just like the parsing done in the code analyzer, an efficient custom built data
structure in used to store the gathered information.
IDENTIFYING INFORMATION
This section deals with identifying information form the (systemout.log) log files.
The systemout.log is the log file generated by the WebSphere application server.
The systemout.log file stores information in form text, but is maintained in an
bizarre manner. The purpose of the log file is lost because of such a
representation.


FILTERING AND PRESENTING DATA
Once the information is gathered, it needs to be presented to the user as per his
request. This module involves building up a GUI. This GUI is designed in such a
way that it would depict an SQL command.
A simple SQL command of the form
       select < filed names > from < table name > where < condition >
is depicted in a GUI using graphical components such as text fields, combo boxes,
buttons, tables and etc. The GUI facilitates the user to set filter values, on the
basis of which the pool of data would be filtered.
The GUI also accepts a desired array of fields which needs to be displayed while
giving the output. All this is implemented using the javax.swing package. This is
only about the front end.
The result presented to the output on successful querying is done with a simple
filtering mechanism. The GUI accepts the inputs and then this filtering is invoked
and continuously runs in a thread facilitating constant updates as a log could be
created at any instant



                    DEVELOPMENT REQUIREMENTS
SOFTWARE REQUIREMENTS
Java1.3
Swings
Windows 98


HARDWARE REQUIREMENTS
Intel Pentium IV Processor
256 MB RAM
40GB Hard Disk

More Related Content

What's hot

Introduction to DBMS(For College Seminars)
Introduction to DBMS(For College Seminars)Introduction to DBMS(For College Seminars)
Introduction to DBMS(For College Seminars)
Naman Joshi
 
Mca ii-dbms- u-ii-the relational database model
Mca ii-dbms- u-ii-the relational database modelMca ii-dbms- u-ii-the relational database model
Mca ii-dbms- u-ii-the relational database model
Rai University
 
Oracle
OracleOracle
Codd's rules
Codd's rulesCodd's rules
Codd's rulesMohd Arif
 
Database language
Database languageDatabase language
Database Concept by Luke Lonergan
Database Concept by Luke LonerganDatabase Concept by Luke Lonergan
Database Concept by Luke Lonergan
Luke Lonergan
 
Oracle developer interview questions(entry level)
Oracle developer interview questions(entry level)Oracle developer interview questions(entry level)
Oracle developer interview questions(entry level)
Naveen P
 
Database management system
Database management systemDatabase management system
Database management system
edudivya
 
Master of Computer Application (MCA) – Semester 4 MC0077
Master of Computer Application (MCA) – Semester 4  MC0077Master of Computer Application (MCA) – Semester 4  MC0077
Master of Computer Application (MCA) – Semester 4 MC0077
Aravind NC
 
Basic Concept of Database
Basic Concept of DatabaseBasic Concept of Database
Basic Concept of Database
Marlon Jamera
 
Sap business objects interview questions
Sap business objects interview questionsSap business objects interview questions
Sap business objects interview questions
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
Pega 7.2 Training course(8019256326)
Pega 7.2 Training  course(8019256326)Pega 7.2 Training  course(8019256326)
Pega 7.2 Training course(8019256326)
Nikhila vedula
 
Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstractionMary May Porto
 
Chapter6 database connectivity
Chapter6 database connectivityChapter6 database connectivity
Chapter6 database connectivity
KV(AFS) Utarlai, Barmer (Rajasthan)
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
Maria Stella Solon
 
Collectn framework copy
Collectn framework   copyCollectn framework   copy
Collectn framework copy
charan kumar
 
Database management systems cs403 power point slides lecture 04
Database management systems   cs403 power point slides lecture 04Database management systems   cs403 power point slides lecture 04
Database management systems cs403 power point slides lecture 04
Md.Abu Sayed
 
Db4 th
Db4 thDb4 th
PL/SQL Interview Questions
PL/SQL Interview QuestionsPL/SQL Interview Questions
PL/SQL Interview Questions
Srinimf-Slides
 
Addmi 07-taxonomy
Addmi 07-taxonomyAddmi 07-taxonomy
Addmi 07-taxonomyodanyboy
 

What's hot (20)

Introduction to DBMS(For College Seminars)
Introduction to DBMS(For College Seminars)Introduction to DBMS(For College Seminars)
Introduction to DBMS(For College Seminars)
 
Mca ii-dbms- u-ii-the relational database model
Mca ii-dbms- u-ii-the relational database modelMca ii-dbms- u-ii-the relational database model
Mca ii-dbms- u-ii-the relational database model
 
Oracle
OracleOracle
Oracle
 
Codd's rules
Codd's rulesCodd's rules
Codd's rules
 
Database language
Database languageDatabase language
Database language
 
Database Concept by Luke Lonergan
Database Concept by Luke LonerganDatabase Concept by Luke Lonergan
Database Concept by Luke Lonergan
 
Oracle developer interview questions(entry level)
Oracle developer interview questions(entry level)Oracle developer interview questions(entry level)
Oracle developer interview questions(entry level)
 
Database management system
Database management systemDatabase management system
Database management system
 
Master of Computer Application (MCA) – Semester 4 MC0077
Master of Computer Application (MCA) – Semester 4  MC0077Master of Computer Application (MCA) – Semester 4  MC0077
Master of Computer Application (MCA) – Semester 4 MC0077
 
Basic Concept of Database
Basic Concept of DatabaseBasic Concept of Database
Basic Concept of Database
 
Sap business objects interview questions
Sap business objects interview questionsSap business objects interview questions
Sap business objects interview questions
 
Pega 7.2 Training course(8019256326)
Pega 7.2 Training  course(8019256326)Pega 7.2 Training  course(8019256326)
Pega 7.2 Training course(8019256326)
 
Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstraction
 
Chapter6 database connectivity
Chapter6 database connectivityChapter6 database connectivity
Chapter6 database connectivity
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Collectn framework copy
Collectn framework   copyCollectn framework   copy
Collectn framework copy
 
Database management systems cs403 power point slides lecture 04
Database management systems   cs403 power point slides lecture 04Database management systems   cs403 power point slides lecture 04
Database management systems cs403 power point slides lecture 04
 
Db4 th
Db4 thDb4 th
Db4 th
 
PL/SQL Interview Questions
PL/SQL Interview QuestionsPL/SQL Interview Questions
PL/SQL Interview Questions
 
Addmi 07-taxonomy
Addmi 07-taxonomyAddmi 07-taxonomy
Addmi 07-taxonomy
 

Viewers also liked

Java Abs Dynamic Server Replication
Java Abs   Dynamic Server ReplicationJava Abs   Dynamic Server Replication
Java Abs Dynamic Server Replication
ncct
 
Java Abs U Portal Education Grid
Java Abs   U Portal   Education GridJava Abs   U Portal   Education Grid
Java Abs U Portal Education Grid
ncct
 
Ncct Ieee Software Abstract Collection Volume 1 50+ Abst
Ncct   Ieee Software Abstract Collection Volume 1   50+ AbstNcct   Ieee Software Abstract Collection Volume 1   50+ Abst
Ncct Ieee Software Abstract Collection Volume 1 50+ Abst
ncct
 
Java Abs Scalable Wireless Ad Hoc Network Simulation Using
Java Abs   Scalable Wireless Ad Hoc Network Simulation UsingJava Abs   Scalable Wireless Ad Hoc Network Simulation Using
Java Abs Scalable Wireless Ad Hoc Network Simulation Using
ncct
 
Axes Tech
Axes TechAxes Tech
Axes Tech
ncct
 
Human Resource Information System
Human Resource Information SystemHuman Resource Information System
Human Resource Information System
ncct
 

Viewers also liked (6)

Java Abs Dynamic Server Replication
Java Abs   Dynamic Server ReplicationJava Abs   Dynamic Server Replication
Java Abs Dynamic Server Replication
 
Java Abs U Portal Education Grid
Java Abs   U Portal   Education GridJava Abs   U Portal   Education Grid
Java Abs U Portal Education Grid
 
Ncct Ieee Software Abstract Collection Volume 1 50+ Abst
Ncct   Ieee Software Abstract Collection Volume 1   50+ AbstNcct   Ieee Software Abstract Collection Volume 1   50+ Abst
Ncct Ieee Software Abstract Collection Volume 1 50+ Abst
 
Java Abs Scalable Wireless Ad Hoc Network Simulation Using
Java Abs   Scalable Wireless Ad Hoc Network Simulation UsingJava Abs   Scalable Wireless Ad Hoc Network Simulation Using
Java Abs Scalable Wireless Ad Hoc Network Simulation Using
 
Axes Tech
Axes TechAxes Tech
Axes Tech
 
Human Resource Information System
Human Resource Information SystemHuman Resource Information System
Human Resource Information System
 

Similar to Java Abs Java Productivity Creator & Analyzer

Process management seminar
Process management seminarProcess management seminar
Process management seminar
apurva_naik
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
Diane Allen
 
oracle
oracleoracle
Nt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language AnalysisNt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language Analysis
Nicole Gomez
 
11i Logs
11i Logs11i Logs
Database Management system, database architecture unikkkkkkkkkkkkkkk
Database Management system, database architecture unikkkkkkkkkkkkkkkDatabase Management system, database architecture unikkkkkkkkkkkkkkk
Database Management system, database architecture unikkkkkkkkkkkkkkk
sandhyakiran10
 
Library management sytem
Library management sytemLibrary management sytem
Library management sytemashu6
 
Os
OsOs
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
ArifaMehreen1
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Must be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docxMust be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docx
herthaweston
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
Rohit Sharma
 
A N S I S P A R C Architecture
A N S I  S P A R C  ArchitectureA N S I  S P A R C  Architecture
A N S I S P A R C Architecture
Sabeeh Ahmed
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Bt0066 database management system1
Bt0066 database management system1Bt0066 database management system1
Bt0066 database management system1
Techglyphs
 
25896027-1-ODI-Architecture.ppt
25896027-1-ODI-Architecture.ppt25896027-1-ODI-Architecture.ppt
25896027-1-ODI-Architecture.ppt
AnamariaFuia
 
SAP ABAP Interview questions
SAP ABAP Interview questionsSAP ABAP Interview questions
SAP ABAP Interview questions
IT LearnMore
 

Similar to Java Abs Java Productivity Creator & Analyzer (20)

Process management seminar
Process management seminarProcess management seminar
Process management seminar
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
oracle
oracleoracle
oracle
 
Nt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language AnalysisNt1310 Unit 3 Language Analysis
Nt1310 Unit 3 Language Analysis
 
11i Logs
11i Logs11i Logs
11i Logs
 
Database Management system, database architecture unikkkkkkkkkkkkkkk
Database Management system, database architecture unikkkkkkkkkkkkkkkDatabase Management system, database architecture unikkkkkkkkkkkkkkk
Database Management system, database architecture unikkkkkkkkkkkkkkk
 
Library management sytem
Library management sytemLibrary management sytem
Library management sytem
 
Os
OsOs
Os
 
Os
OsOs
Os
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Must be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docxMust be similar to screenshotsI must be able to run the projects.docx
Must be similar to screenshotsI must be able to run the projects.docx
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
 
A N S I S P A R C Architecture
A N S I  S P A R C  ArchitectureA N S I  S P A R C  Architecture
A N S I S P A R C Architecture
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Bt0066 database management system1
Bt0066 database management system1Bt0066 database management system1
Bt0066 database management system1
 
Project seminar
Project seminarProject seminar
Project seminar
 
25896027-1-ODI-Architecture.ppt
25896027-1-ODI-Architecture.ppt25896027-1-ODI-Architecture.ppt
25896027-1-ODI-Architecture.ppt
 
SAP ABAP Interview questions
SAP ABAP Interview questionsSAP ABAP Interview questions
SAP ABAP Interview questions
 

More from ncct

Biomedical Wearable Device For Remote Monitoring Ofphysiological Signals
Biomedical Wearable Device For Remote Monitoring Ofphysiological SignalsBiomedical Wearable Device For Remote Monitoring Ofphysiological Signals
Biomedical Wearable Device For Remote Monitoring Ofphysiological Signals
ncct
 
Digital Water Marking For Video Piracy Detection
Digital Water Marking For Video Piracy DetectionDigital Water Marking For Video Piracy Detection
Digital Water Marking For Video Piracy Detection
ncct
 
Self Repairing Tree Topology Enabling Content Based Routing In Local Area Ne...
Self Repairing Tree Topology Enabling  Content Based Routing In Local Area Ne...Self Repairing Tree Topology Enabling  Content Based Routing In Local Area Ne...
Self Repairing Tree Topology Enabling Content Based Routing In Local Area Ne...
ncct
 
Cockpit White Box
Cockpit White BoxCockpit White Box
Cockpit White Box
ncct
 
Rail Track Inspector
Rail Track InspectorRail Track Inspector
Rail Track Inspector
ncct
 
Botminer Clustering Analysis Of Network Traffic For Protocol And Structure...
Botminer   Clustering Analysis Of Network Traffic For Protocol  And Structure...Botminer   Clustering Analysis Of Network Traffic For Protocol  And Structure...
Botminer Clustering Analysis Of Network Traffic For Protocol And Structure...
ncct
 
Bot Robo Tanker Sound Detector
Bot Robo  Tanker  Sound DetectorBot Robo  Tanker  Sound Detector
Bot Robo Tanker Sound Detector
ncct
 
Distance Protection
Distance ProtectionDistance Protection
Distance Protection
ncct
 
Bluetooth Jammer
Bluetooth  JammerBluetooth  Jammer
Bluetooth Jammer
ncct
 
Crypkit 1
Crypkit 1Crypkit 1
Crypkit 1
ncct
 
I E E E 2009 Java Projects
I E E E 2009  Java  ProjectsI E E E 2009  Java  Projects
I E E E 2009 Java Projects
ncct
 
B E Projects M C A Projects B
B E  Projects  M C A  Projects  BB E  Projects  M C A  Projects  B
B E Projects M C A Projects B
ncct
 
J2 E E Projects, I E E E Projects 2009
J2 E E  Projects,  I E E E  Projects 2009J2 E E  Projects,  I E E E  Projects 2009
J2 E E Projects, I E E E Projects 2009
ncct
 
J2 M E Projects, I E E E Projects 2009
J2 M E  Projects,  I E E E  Projects 2009J2 M E  Projects,  I E E E  Projects 2009
J2 M E Projects, I E E E Projects 2009
ncct
 
Engineering College Projects, M C A Projects, B E Projects, B Tech Pr...
Engineering  College  Projects,  M C A  Projects,  B E  Projects,  B Tech  Pr...Engineering  College  Projects,  M C A  Projects,  B E  Projects,  B Tech  Pr...
Engineering College Projects, M C A Projects, B E Projects, B Tech Pr...
ncct
 
B E M E Projects M C A Projects B
B E  M E  Projects  M C A  Projects  BB E  M E  Projects  M C A  Projects  B
B E M E Projects M C A Projects B
ncct
 
I E E E 2009 Java Projects, I E E E 2009 A S P
I E E E 2009  Java  Projects,  I E E E 2009  A S PI E E E 2009  Java  Projects,  I E E E 2009  A S P
I E E E 2009 Java Projects, I E E E 2009 A S P
ncct
 
Advantages Of Software Projects N C C T
Advantages Of  Software  Projects  N C C TAdvantages Of  Software  Projects  N C C T
Advantages Of Software Projects N C C T
ncct
 
Engineering Projects
Engineering  ProjectsEngineering  Projects
Engineering Projects
ncct
 
Software Projects Java Projects Mobile Computing
Software  Projects  Java  Projects  Mobile  ComputingSoftware  Projects  Java  Projects  Mobile  Computing
Software Projects Java Projects Mobile Computing
ncct
 

More from ncct (20)

Biomedical Wearable Device For Remote Monitoring Ofphysiological Signals
Biomedical Wearable Device For Remote Monitoring Ofphysiological SignalsBiomedical Wearable Device For Remote Monitoring Ofphysiological Signals
Biomedical Wearable Device For Remote Monitoring Ofphysiological Signals
 
Digital Water Marking For Video Piracy Detection
Digital Water Marking For Video Piracy DetectionDigital Water Marking For Video Piracy Detection
Digital Water Marking For Video Piracy Detection
 
Self Repairing Tree Topology Enabling Content Based Routing In Local Area Ne...
Self Repairing Tree Topology Enabling  Content Based Routing In Local Area Ne...Self Repairing Tree Topology Enabling  Content Based Routing In Local Area Ne...
Self Repairing Tree Topology Enabling Content Based Routing In Local Area Ne...
 
Cockpit White Box
Cockpit White BoxCockpit White Box
Cockpit White Box
 
Rail Track Inspector
Rail Track InspectorRail Track Inspector
Rail Track Inspector
 
Botminer Clustering Analysis Of Network Traffic For Protocol And Structure...
Botminer   Clustering Analysis Of Network Traffic For Protocol  And Structure...Botminer   Clustering Analysis Of Network Traffic For Protocol  And Structure...
Botminer Clustering Analysis Of Network Traffic For Protocol And Structure...
 
Bot Robo Tanker Sound Detector
Bot Robo  Tanker  Sound DetectorBot Robo  Tanker  Sound Detector
Bot Robo Tanker Sound Detector
 
Distance Protection
Distance ProtectionDistance Protection
Distance Protection
 
Bluetooth Jammer
Bluetooth  JammerBluetooth  Jammer
Bluetooth Jammer
 
Crypkit 1
Crypkit 1Crypkit 1
Crypkit 1
 
I E E E 2009 Java Projects
I E E E 2009  Java  ProjectsI E E E 2009  Java  Projects
I E E E 2009 Java Projects
 
B E Projects M C A Projects B
B E  Projects  M C A  Projects  BB E  Projects  M C A  Projects  B
B E Projects M C A Projects B
 
J2 E E Projects, I E E E Projects 2009
J2 E E  Projects,  I E E E  Projects 2009J2 E E  Projects,  I E E E  Projects 2009
J2 E E Projects, I E E E Projects 2009
 
J2 M E Projects, I E E E Projects 2009
J2 M E  Projects,  I E E E  Projects 2009J2 M E  Projects,  I E E E  Projects 2009
J2 M E Projects, I E E E Projects 2009
 
Engineering College Projects, M C A Projects, B E Projects, B Tech Pr...
Engineering  College  Projects,  M C A  Projects,  B E  Projects,  B Tech  Pr...Engineering  College  Projects,  M C A  Projects,  B E  Projects,  B Tech  Pr...
Engineering College Projects, M C A Projects, B E Projects, B Tech Pr...
 
B E M E Projects M C A Projects B
B E  M E  Projects  M C A  Projects  BB E  M E  Projects  M C A  Projects  B
B E M E Projects M C A Projects B
 
I E E E 2009 Java Projects, I E E E 2009 A S P
I E E E 2009  Java  Projects,  I E E E 2009  A S PI E E E 2009  Java  Projects,  I E E E 2009  A S P
I E E E 2009 Java Projects, I E E E 2009 A S P
 
Advantages Of Software Projects N C C T
Advantages Of  Software  Projects  N C C TAdvantages Of  Software  Projects  N C C T
Advantages Of Software Projects N C C T
 
Engineering Projects
Engineering  ProjectsEngineering  Projects
Engineering Projects
 
Software Projects Java Projects Mobile Computing
Software  Projects  Java  Projects  Mobile  ComputingSoftware  Projects  Java  Projects  Mobile  Computing
Software Projects Java Projects Mobile Computing
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

Java Abs Java Productivity Creator & Analyzer

  • 1. JAVA PRODUCTIVITY CREATOR & ANALYZER PRODUCTIVITY AIDS TO TRACK THE CONTROL FLOW, PARSING OF THE CODE - ANALYZER AND LOG READER The project deals with developing tools, which help in enhancing the activities at different stages in the software development life cycle (SDLC). The tools will fall under the category of CASE tools, which enable sophistication during the software development. AIM OF THE PROJECT DEVELOPING TWO TOOLS (a) Code Analyzer (jBrowser ) and (b) Log Reader CODE ANALYZER (jBrowser) A tool that would track the control flow between various classes in JAVA platform and (b) Log Reader - A tool that would help in presenting the log files of any server in a more presentable form The jBrowser would be a tool that would help the user track control flow between java classes via method calls. Given a starting point, this tool tracks the entire path within a particular location spotting various method calls under different scenarios. We aim at building this tool as an effective tool to understand the control flow while reengineering and reverse engineering and as a testing tool which would identify the broken links between the java classes. The Log Reader is another simple tool. This tool focuses on presenting the user with a user friendly GUI, using which the user can query and extract useful information from the log files generated by an application server in an interactive and understandable manner. The jBrowser can be classified as a tool for code analysis. In spite of there being numerous tools for code analysis, all these tools are more bothered about analyzing the program on issues relating misuse of the programming language as such. They look out for potential bugs in the code and focus more on the code structure. Not many systems have targeted to track and analyze the control flow via method calls between classes. The tools available to aid programmers in examining the various components of a java component most of them are restricted to the class level.
  • 2. These tools primarily incorporate a single level of component display where developers can view the various methods calls, object references and data types that are declared within the scope of that particular class. No tool has displayed a multilevel tracing technique for Java. This may be attributed to the free formed nature coupled with the extensive set of class level and multiple class level manipulations (Packages, Inheritance, Overloading, Interfaces, Abstract and Virtual methods). The tool unlike these traditional code analyzers, gives a new perspective to code analysis. This tool requires a method name within a class as a start point. The tool from the given starting point proceeds to track and identify the control flow to various other classes via method calls from the starting point. The tool employs exhaustive and efficient parsing to identify the various possible ways of method calls. The tracked information is stored onto the file systems in form of ‘XML’ files which is portable and can be used for any other applications. The ‘XML’ file is then applied with an XSL transformation and presented as a ‘HTML’ file, which represent the extracted information in a simple user understandable format. The concept of loggers comes into play in case of networks where in there is an administrator monitoring the activities of the user. Most servers have efficient methods for maintaining the log information. But the drawback is in the representation of such details. The servers monitor such logging information and maintain the details using special log files. These files however represent information in form of raw textual data which is very difficult for the users to understand. The entire purpose is lost when the maintained files are in form of raw data, which is extremely difficult to understand. The tool will perform an efficient parsing on the log file (systemout.log) to store information onto convenient data structures in an explicit manner. The GUI presents the user with an interface which enables the user to query the information stored in the log file. The user is allowed to specify filter variables on the basis of which the entire domain of data is filtered and displayed to the user according to his need. The tool’s interface depicts a SQL command with graphical components such as buttons, text fields, combo boxes, tables, etc. to perform the querying. MODULAR DESIGN The jBrowser is a tool which as specified above deals with tracking the control flow between java classes via method calls. The jBrowser employs a phase strategy to achieve its desired task. The two phases involve 4 modules. The four modules of the jBrowser are 1. Pre-Parsing Processing 2. Parsing 3. Storing and Manipulation 4. Building XML and presenting with a XSLT.
  • 3. Code Analyzer (jBrowser) The first there modules belong to the first phase which involves in building the output. All the three modules interact with the file sub-system and a common back end data store to build the output. The three modules are employed in a recursive manner to make the system generic and achieve optimization PRE-PARSING PROCESSING (3P) The 3P phase involves the creation and maintenance of several lists and other data structures which support parsing. Since recursion is the main idea behind this tool, 3P is involved at every iterative levels of recursion. It is named Pre-Parsing because this phase does not involve any parsing of the source code. This is simply to create and initialize data that would aid and facilitate efficient parsing. PARSING The code analyzer (jBrowser) parsing forms the back bone as it is the module which scans through the java files to identify method calls. To achieve this, an exhaustive tracking of method calls through different classes is done. This process requires efficient usage of certain data structures. It is imperative to efficiently utilize minimal system resources to handle multiple method calls through multiple levels. Given these basic requirements, the parser is designed to identify and handle the following • Identify Object Declarations. • Maintain a Class-Object mapping which is necessary for identifying method calls. • Identify method calls. • Resolving method calls inside conditional statements (if and if..else). • Update the central database As stated earlier, before getting on to the actual parsing there is a Pre-Parsing Processing (3P) done. The 3P phase involves the creation and maintenance of several lists and other data structures which support parsing. Since recursion is the main idea behind this tool, 3P is also involved at every iterative levels of recursion. It is named Pre-Parsing because this phase does not involve any parsing of the source code. This is simply to create and initialize data that would aid efficient parsing STORING & MANIPULATION the information is extracted from the java file, they need to be stored for future manipulations. There are several ways of storing data. Files, database tables and data structures are some very common ways of storing data.
  • 4. File system: This is the most common way of storing data, however the data stored when needs to be extracted, an exhaustive parsing on that specific file needs to be carried out. This does increase the system overhead by causing exhaustive usage of memory. • Database table: This is an efficient way of handling bulk volumes of data. These databases normally run on separate database servers, serving as backend data storage. In applications such as the above they may not be apt as they demand high system requirements. BUILDING OUTPUT Now that the entire process of getting necessary information from the files and storing them onto a temporary data structure is over, the information gathered needs to be stored onto a permanent destination. Of the several ways storing files, we prefer to store them in form of a XML file. This file format makes the output portable as they could serve as inputs for several other applications and is also easy to transfer over communication mediums. The gathered information is stored in an XML using a simple DTD. The DTD for the XML is designed, keeping in mind the information which needs to be represented or stored. Every element of the XML is called a node. There aren’t much details specified with the element as such. The attributes of each of these elements take care of storing and representing data LOG READER MODULAR DESIGN The log reader is a simple java based tool aimed at parsing through log files and extract information from them based on user requests. Log files have always been cramped and generally deciphering information from the bulk of data present in them is a tedious task. This tool (currently developed for IBM Websphere based log files) is aimed to improve the readability and usefulness of log files. An interactive GUI depicting a SQL command is employed for retrieval of information from the back end data store. The log reader comprise of the following modules 1. Identifying information 2. Filtering and presenting data. To first module is concerned with gathering information from the log file (systemout.log). This module will perform an exhaustive parsing on the log file trying to extract information which would needs to be presented to the user. Just like the parsing done in the code analyzer, an efficient custom built data structure in used to store the gathered information.
  • 5. IDENTIFYING INFORMATION This section deals with identifying information form the (systemout.log) log files. The systemout.log is the log file generated by the WebSphere application server. The systemout.log file stores information in form text, but is maintained in an bizarre manner. The purpose of the log file is lost because of such a representation. FILTERING AND PRESENTING DATA Once the information is gathered, it needs to be presented to the user as per his request. This module involves building up a GUI. This GUI is designed in such a way that it would depict an SQL command. A simple SQL command of the form select < filed names > from < table name > where < condition > is depicted in a GUI using graphical components such as text fields, combo boxes, buttons, tables and etc. The GUI facilitates the user to set filter values, on the basis of which the pool of data would be filtered. The GUI also accepts a desired array of fields which needs to be displayed while giving the output. All this is implemented using the javax.swing package. This is only about the front end. The result presented to the output on successful querying is done with a simple filtering mechanism. The GUI accepts the inputs and then this filtering is invoked and continuously runs in a thread facilitating constant updates as a log could be created at any instant DEVELOPMENT REQUIREMENTS SOFTWARE REQUIREMENTS Java1.3 Swings Windows 98 HARDWARE REQUIREMENTS Intel Pentium IV Processor 256 MB RAM 40GB Hard Disk