4 research outputs found
Github application programme interface and wordnet for code reuse
It is clear that code reuse is important task in software development and maintenance. As a lot of software application and source code have been used as libraries in version control systems, such that Git, SVN, LibreSource and related web sites, such that GitHub.com, sourceforge.net, projectsgeek.com, Googlecode.com, more and more companies, especially Small and Medium Enterprises (SMEs), are reusing open source code to develop their own software. The problem in code reuse is, after download all relevant code, we need to identify most relevant code among pool of code. In this paper we use keyword search with n-gram NLP technique using GitHub Application Program Interface (API). Before search the source code, we retrieve all Repository name in GitHub belongs to particular programing language (JAVA, C++, etc.), as well as we retrieve all .java file name if we search java libraries using GitHub API. Then compare our keyword with this list, if the keyword extracted from Software architecture is connected word, then we will split using Apache Camel Splitter. If the particular keyword related to any project, we download the project. Otherwise using WordNet, get some synonym and do the above process again. For further relevancy, we will use a speech recognition technique (Dynamic Time Warping (DTW)) and a NLP technique (Part of Speech Tagging (POS)). Because of this is a part of the whole research, in this paper we will consider only GitHub API
Object tracking system with smart phone using GPS
Vehicle Security has become one of the major problems for distributers in business.
Many researchers and developers are concerned on designing and implementing
systems based on Wireless mass media communication technology. In Sri Lanka,
several distributers imminent and as soon as they terminate the business with lost.
Thus, this paper propose a solution to their lost through design and implementation of
an Object Tracking System (OTS) based on Global Positioning System (GPS) that aims
to track the vehicle in the city and all over the world. The OTS consists of an Android
Application that will be connected with a Web Application through the internet. These
applications enable to get the Latitudes and Longitudes of the vehicle’s location using
an Android device, and then send those GEO points to the server and finally display
their position on digital map (Google map) using a marker in computer
Analyzing source code identifiers for code reuse
Today a massive amount of source code is available on the Internet and open to serve
as a means for code reuse. Developers can reduce the time cost and resource cost by
reusing these external open source code in their own projects. Even though a number
of Code Search Engines (CSE) are available, finding the most relevant source code is
often challenging. In this research, we proposed a framework that can be used to
overcome the problem faced by developers in code searching and reusing. The
framework starts with the software architecture design in XML format (Class
Diagram), extracts information from the XML file, and then based on the extracted
information, fetches relevant projects using three types of crawler from GitHub,
SourceForge, and GoogleCode. We will have a huge amount of projects by
downloading process using the crawlers and need to find most relevant projects among
them.
In this research, we particularly focus on projects developed using Java language.
Each project will have a number of .java files, and all files will be represented as
Abstract Syntax Trees (AST) to extract identifiers (class names, method names, and
attributes name) and comments from the .java files. Then, on one hand, we will have
the identifiers which are extracted from the XML file (Class diagram), and the other
hand the identifiers and the action words (verbs) extracted from downloaded projects.
Action words are extracted from comments using Part of Speech technique (POS).
These two group of identifiers need to be analyzed for matching, if the identifiers are
matched, an amount of marks will be given to these identifiers, likewise marks will
be added together and then if the total marks is greater than 50%, the .java file belongs
to these identifier will be suggested as relevant code. Otherwise, synonyms of the
identifiers will be discovered using WordNet, and the matching process will be
repeated for the synonyms. For the composite identifiers, camel case splitter is used to
separate these words. If the programmers do not follow camel case naming convention,
N-gram technique is used to separate these word. The Stanford Spellchecker is used to
identify abbreviated words. Evaluation of our developed framework resulted in
95.25% of average accuracy of four subsystem [project downloader (100%), identifier
analyzer (94%), word finder (87%), and comments analyzer (100%)] accuracy
Analyzing source code identifiers for code reuse using NLP techniques and wordnet
Massive amount of source codes are available free and open. Reusing those open source codes in projects can reduce the project duration and cost. Even though several Code Search Engines (CSE) are available, finding the most relevant code can be challenging. In this paper we propose a framework that can be used to overcome the above said challenge. The proposed solution starts with a Software Architecture (Class Diagram) in XML format and extracts information from the XML file, and then, it fetches relevant projects using three types of crawlers from GitHub, SourceForge, and GoogleCode. Then it finds the most relevant projects among the vast amount of downloaded projects. This research considers only Java projects. All java files in every project will be represented in Abstract Syntax Tree (AST) to extract identifiers (class names, method names, and attributes name) and comments. Action words (verbs) are extracted from comments using Part of Speech technique (POS). Those identifiers and XML file information need to be analyzed for matching. If identifiers are matched, marks will be given to those identifiers, likewise marks will be added together and then if the total mark is greater than 50%, the .java file will be considered as a relevant code. Otherwise, WordNet will be used to get synonym of those identifiers and repeat the matching process using those synonyms. For connected word identifiers, camel case splitter and N-gram technique are used to separate those words. The Stanford Spellchecker is used to identify abbreviated words. The results indicate successful identification of relevant source codes