Skip to content

Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color brick color green color
You are here:Home arrow Services
Services @ Kriyagram Print E-mail

Services @ Kriyagram

CodeSWAT.COM - is the product division of Kriyagram Informatiques Private Limited, Chennai, India. Service offerings at Kriyagram.

Language Parsers Development. 

Application Mining.

Automated Software Audit.

Code to Diagrams.

Customize Product Development Using Eclipse Frameworks.

 

Language Parsers Development

Why do you need parsers?

A parser is program which is intelligent enough to understand any text written using a formal grammar. To programmatically understand text means that it can interpret or transform the text as instructed. Almost all programming languages follow a formal grammar and they use different parsers to translate the source code to object code or executable.

Parsers helps you to reconstruct the structural composition of your text, which is lost when it is written down, provided the text is written using a formal grammar, for e.g., any computer programming language or for that matter the English language itself.

For example, an HTML Parser is the first step to build an HTML Browser or HTML Renderer, interestingly there are several other uses of a parser, for instance a customized HTML parser can help you to automatically format your html source for pretty print or it can report on numerous interesting things such as to list the links in a html, extract selected parts of html. In short a parser can help you to automate transformational tasks.

Why KGI?

KGI Team has over two years of experience in building customized parsers for our clients and products; we have successfully developed parsers for various programming languages such as VB6, C, C++, ABAP, Delphi, Visual Basic.NET, C#, SQL, PL/SQL, TSQL, COBOL, CICS, DB2 . Not only had we mastered parser development, we have engineered quality solutions for the specific transformational needs of our clients.

How cost effective?

You can be assured of a cost effective deal as well as quality solution, we have specific guarantees and free maintenance period clause for any size of order. We continuously review our process, to remove the excess fat (time) in the solution model and share this benefit with our clients. Since we are based in Chennai , India we have quick access to abundant talent and our training process initiates our associates competency quickly.

Contact This email address is being protected from spam bots, you need Javascript enabled to view it , with an outline of your need and we shall be glad to assist you in finding the best solution for your requirement.

Application Mining

How can it help?

Application mining is a technology which you can use primarily for application maintenance related activities. Basically, we can look at application mining tools as a catalyst for maintenance team to get the facts quickly.

Typically an application mining tool will analyze the source code of your application and create a repository which shall contain all the artifacts of the source code and their relationship, the depth of such artifacts collection and relationship depends on the need.

Once this repository/representation is created then a whole lot of utilities are built around the repository to facilitate your need. For e.g. you may need to know the dependencies of a particular module/function before to modify it. You may need the dependencies to understand the impact of a change to the module, the effort that may be needed to modify the module, or simply to understand how a particular usecase had been implemented.

An application may have been written using various programming languages, and ideally application mining tools are packed with the necessary ingredients to analyze all of them. So, you get a common platform to browser through various artifacts of your application and tag "TODO" lists and schedule them to different departments or team members and keep track of the changes that are being made to the application by various teams.

Why KGI?

We have in-depth experience in developing application mining tools to our clients, our competency in parser development of various programming language complement our ability to provide the best solution. See ( Parser Development ) to know more about language parsers. Our application mining solutions helps you to build repositories based on your specific requirement and derive value from these repositories for design recovery, business rules identification, extraction and documentation to mention a few.

The use of an application mining tool in your maintenance project, catalyses your tasks and thus helps bring down cost.

Application Mining Tools!! Do you have specific need in this areas or do you see great idea than can help you or your client to bring down cost or improve quality, talk to us at This email address is being protected from spam bots, you need Javascript enabled to view it , and we shall be glad to propose the right solution and help you to implement the idea or requirement.

Automated Software Audit

Why audit code?

The "source code" of the application which your clients use can be the strongest or the weakest link between you and your client. So, it is wise to ensure the quality of the source code. Quality of source code! Can be very vague requirement, but if we articulate what exactly quality of source code means to your application, and then your development teams can work towards that.

Software development/maintenance companies have engineered various quality standards for source code, such as coding standards , best practices to be followed and collect software measurement to ensure various quality aspects of the source code that is being built or had been built. Typically an audit can be done at specified milestones during project development and maintenance phase.

However, industry data about source code quality and your experience as project manager or project lead tells the fact that the developers are reluctant in following such guidelines or do very little by just filling up forms randomly at the end of the project. Developers on the other hand justify that the guideline are vague or hard to follow or prominently a boring activity. Though activities such as peer review help, the field of specifying best practices, and ensuring that it is followed by collecting software measure is a largely an activity that is conveniently overlooked in most of the cases.

Automation is the only solution to help people contribute to this important activity. Fortunately, we now have technology to help in formulating the coding rules and mostly importantly automate the process of ensuring whether the rules are followed, also automates software metrics collection. Software metrics can reflect various quality aspect of source code and since it's automate-able the information is available on click. Developers can use these tool themselves to benchmark their work before to deliver their unit for integration. Thus, a majority of these software audit activities can be automated and thereby enabling people to contribute more willingly, since the tools remove the boredom in these tasks.

Why KGI?

We have in-depth understanding of the structural composition various programming languages which is a by product of our core competency. We have good experience in successfully implementing quality audit tools for various programming languages for our clients. You can benefit from our experience and expertise in this field. On several cases our solutions go one step further and actually refactor the source code to ensure that they conform to the guidelines.

If you have a specific need for such a quality audit tool or audit reports contact This email address is being protected from spam bots, you need Javascript enabled to view it , we shall be glad to share our experience and provide you the right solution.

Code to Diagrams

Need for diagrams?

Most of our first programming education begins with flowcharts; it is a very simple and objective way to describe the steps needed to accomplish a task. Since the solution is described graphically using standard notations, it is easy to understand a functionality and figure out the merits / demerits of the solution. Over the years diagrams have emerged at all level of software from flowchart of a function to describing a design of the solution (UML).

While it is advisable to draw these diagrams before to implement a solution, reverse engineering such diagrams from source code, can help in great deal of areas of software development and maintenance when the design documents are missing or incomplete. For e.g. a tool to reverse engineer the inheritance hierarchy diagram from a java jar file, could give you the edge to quickly understand the design.

A flowchart is a visual representation that describes the sequence of operations to be performed to get the solution for a problem. Flowcharts facilitate standard communication between programmers and business analysts. These flowcharts play a vital role in the programming of a problem and are quite helpful in understanding the logic of complicated and lengthy implementations. Flowcharts are generally drawn in the early stages of formulating computer solutions. But as the requirements tend to change dynamically, the programs always tend to change with the time, and programmers always have the overhead of updating all the documentations, including flowchart, whenever he/she updates the code. Gradually flowcharts might fail to reflect what the original code does.

On the fly reverse engineering of flowcharts from source code, gives us the ability to quickly understand a function's structural composition, additionally it gives insight on a functions complexity. A flowchart gives you the independence to work with code written by others; also as said earlier one can reflect on the solution objectively and figure out merits / demerits of the solution.

Why KGI?

We have successfully rolled out flowcharting solution for BroadVision JSP, VB.NET & Java. We have spent quality time in training ourselves on various data flow algorithms and software visualization, this combined with our core competency enables us to provide perfect solutions for your specific needs.

Contact This email address is being protected from spam bots, you need Javascript enabled to view it , to get a free sample flowchart of the language of your choice, alternatively you can write to us for any specific "code to diagram" reverse engineering requirements.

Customize Product Development Using Eclipse Frameworks.

Why Eclipse?

Eclipse is an open source IDE framework from IBM, is revolutionizing the way we look at product development. It provides the apt environment and architecture for a product/tool developer to concentrate on their expertise and construct solutions in which they specialize. Instead of building basic functionality from scratch, we can now use the Eclipse Framework and jump start a tool development inheriting all the rich benefits of Eclipse.

As mature players understand that one product/tool cannot fulfill all the needs of a customer, eclipse design provide a framework based on plugins where plugins from different players can co-exist in the same environment and provide complementing solution. Ideally this is a win/win deal at all levels, because as tool developers can concentrate on there specialty, clients have an endless choice to choose what goes into their product / tool. A plugin provider can contribute a simple function or a full fledged commercial product, as long as they are based on eclipse framework they can co-exist in the same tool doing what they can do best.

Since eclipse is based on Java, there is an overwhelming support in the open source community which has largest pool of Java programmers, and over time there has been many professional quality eclipse plugins from them, each contributing their specialization to one environment where they co-exist and complement each other.

Why KGI?

We specialize in developing information mining products / tools, such as

1.) Customized language parser development for migration, transformational and other specific client requirements.

2.) Automated Software Auditing and reporting based on best practices and software metrics.

3.) Application Mining and Repository building.

4.) Automated Diagram/ Flowchart Generation.

Most of our tools / solutions user interface is build around the Eclipse Frameworks(link), since Eclipse provides the basic set of functionality needed for an IDE / Tool we use it for our clients advantage and complement it with their specific functional requirements and provide a quality and cost effective solution. It also gives scope for our clients to add on plugins of their interest, built by other vendors/ open source in same environment.

We have excelled in Eclipse Plugin / Product development as by product our tool offerings and by time we have acquired this competency which has propelled us to provide exclusive "Eclipse Plugin / Product Development" service to many our non-core clients and our professional pool of Eclipse Plugin Development team have executed these service with much appreciation from clients.

We follow Xtreme Programming Frameworks, as our development model and it has worked wonders both for us and our clients. We continuously review our process to cut out the unproductive tasks and fine tune quality requirements; this along with our specialization in information mining enables us to provide best solutions for you.

Contact This email address is being protected from spam bots, you need Javascript enabled to view it , for any your information mining product needs or eclipse plugin requirement and your can be sure to get the most expert solutions from our professionals.

Visit http://www.kriyagram.com 

 
Next >