Allahbaksh (AB) Asadullah

Hubli-Dharwad, Karnataka, India Contact Info
4K followers 500+ connections

Join to view profile

About

Allahbaksh has over 18 years of diverse industry experience and is Principal Product…

Articles by Allahbaksh (AB)

Activity

Join now to see all activity

Experience & Education

  • Infosys

View Allahbaksh (AB)’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

Volunteer Experience

  • Software Architect

    Karnataka State Government - Apthamitra

    - 1 year 8 months

    Disaster and Humanitarian Relief

    Design, Architected, Developed, Deployed and maintained with a team of 10 team members Apthamitra, Government of Karnataka Covid 19 System.
    The systems connects Volunteers, Doctors, Ambulance and manages the health details of the citizen of Karnataka. It also automates much of work to improve the matching and locating nearest available Covid hospital.

Publications

  • Reducing user input requests to improve IT support ticket resolution process

    Empirical Software Engineering 23(3), Springer

    Management and maintenance of IT infrastructure resources such as hardware, software and the network is an integral part of software development and maintenance projects. Service management ensures that the tickets submitted by users, i.e. software developers, are serviced within the agreed resolution times. Failure to meet those times induces penalties on the service provider. To prevent a spurious penalty on the service provider, non-working hours such as waiting for user inputs are not…

    Management and maintenance of IT infrastructure resources such as hardware, software and the network is an integral part of software development and maintenance projects. Service management ensures that the tickets submitted by users, i.e. software developers, are serviced within the agreed resolution times. Failure to meet those times induces penalties on the service provider. To prevent a spurious penalty on the service provider, non-working hours such as waiting for user inputs are not included in the measured resolution time, that is, a service level clock pauses its timing. Nevertheless, the user interactions slow down the resolution process, that is, add to user experienced resolution time and degrade the user experience. Therefore, this work is motivated by the need to analyze and reduce user input requests in tickets' life cycle.

    Other authors
    See publication
  • Crowdsourcing for API documentation: A Preliminary Investigation

    Joint Proceedings of the 3rd International Workshop on Quantitative Approaches to Software Quality (QuASoQ), the Workshop on Alternate Workforces for Software Engineering (WAWSE) and the 1st International Workshop on Case Method for Computing Education (C

    Developers and researchers have been using crowdsourcing in a variety of fields related to software development and software engineering. Crowd based documentation is another yield of crowdsourcing where the coder community or workers document the software. In the present work, we have analyzed how crowdsourcing can be used for an API documentation. The study is based on the fact that good programmers write descriptive variables and method names and continue to do so for future references. A…

    Developers and researchers have been using crowdsourcing in a variety of fields related to software development and software engineering. Crowd based documentation is another yield of crowdsourcing where the coder community or workers document the software. In the present work, we have analyzed how crowdsourcing can be used for an API documentation. The study is based on the fact that good programmers write descriptive variables and method names and continue to do so for future references. A variety of tools such as Amazon Mechanical Turk, ETurk and DocIt were evaluated for the purpose. Among these, DocIt and ETurk were built in-house. The evaluation of the documentation was performed by experienced coders. This is a preliminary experiment which was performed in a controlled environment. Results were encouraging and help us to determine that in future crowd based documentation might help to reduce time to market and improve software quality.

    Other authors
    See publication
  • Identifying Software Process Management Challenges: Survey of Practitioners in a Large Global IT Company

    12th Working Conference on Mining Software Repositories, 2015

    Process mining consists of mining event logs generated from business process execution supported by Information Systems (IS). Process mining of software repositories has diverse applications because vast data is generated during Software Development Life Cycle (SDLC) and archived in IS like Version Control System (VCS), Peer Code Review (PCR) System, Issue Tracking System (ITS), and mail archives. There is need to explore its applications on different repositories to aid managers in process…

    Process mining consists of mining event logs generated from business process execution supported by Information Systems (IS). Process mining of software repositories has diverse applications because vast data is generated during Software Development Life Cycle (SDLC) and archived in IS like Version Control System (VCS), Peer Code Review (PCR) System, Issue Tracking System (ITS), and mail archives. There is need to explore its applications on different repositories to aid managers in process management. We conduct two phase surveys and interviews with managers in a large, global, IT company. The first survey and in-person interviews identify the process challenges encountered by them that can be addressed by novel applications of process mining. We filter, group and abstract responses formulating 30 generic problem statements. On the basis of process mining type, we classify identified problems to eight categories such as control analysis, organizational analysis, conformance analysis, and preventive analysis. The second survey asks distinct participants the importance of solving identified problems. We evaluate proposed Net Importance Metric (NIM) using 1262 ratings from 43 participants. Combined analysis of NIM and first survey responses reveals that the problems mentioned by few practitioners in first survey are considered important by majority in the second survey. We elaborate on possible solutions and challenges for most frequent and important problems. We believe solving these validated problems will help managers in improving project quality and productivity.

    Other authors
    See publication
  • A heuristic for two bin partition problem

    International Conference on Contemporary Computing / IEEE

    There are many heuristics to address 2-bin integer partition problem. The range (R) of the values in the data set and the number of element (N) in the data set are 2-parameters which determine the appropriate heuristics. By and large, for large N, Karmarkar-Karp(KK) heuristics offers solutions. For low values of N, Complete Karmarkar-Karp heuristics (CKK), Horowitz and Sahni (HS), Schroeppel and Shamir (SS), Brute-Force search (BF) offers solutions. However, our computations indicate that for R…

    There are many heuristics to address 2-bin integer partition problem. The range (R) of the values in the data set and the number of element (N) in the data set are 2-parameters which determine the appropriate heuristics. By and large, for large N, Karmarkar-Karp(KK) heuristics offers solutions. For low values of N, Complete Karmarkar-Karp heuristics (CKK), Horowitz and Sahni (HS), Schroeppel and Shamir (SS), Brute-Force search (BF) offers solutions. However, our computations indicate that for R > 10 12 and for a specific range of N, depending on R, (R = 10 14 , N = 60 to 150) the best existing heuristics (CKK) takes long or very long CPU time. We are proposing a different heuristic to address this scenario. The proposed heuristic in the paper uses depth-first (like KK) set differencing till N become 48 and from N = 48 to 1 it performs exhaustive search (like HS). For the above mentioned scenario, we found that this combination of strategies gives better and faster solution compared to CKK.

    Other authors
    • Dinesha K V
    • P. C. Bhat
    See publication
  • A call trace based technique for regression test selection of enterprise web applications

    Proceeding ISEC '14 Proceedings of the 7th India Software Engineering Conference Article No. 22

    Regression testing is applied to a modified program to ensure no new errors are introduced in previously tested code. This testing is computationally intensive and time consuming. Hence, Regression Test Selection (RTS) techniques are used to select necessary test cases for testing the modified program. The test cases selected from the test suite should potentially identify same errors as identified by running the complete test suite. The existing RTS techniques address only the web services and…

    Regression testing is applied to a modified program to ensure no new errors are introduced in previously tested code. This testing is computationally intensive and time consuming. Hence, Regression Test Selection (RTS) techniques are used to select necessary test cases for testing the modified program. The test cases selected from the test suite should potentially identify same errors as identified by running the complete test suite. The existing RTS techniques address only the web services and standalone applications. In this paper, we present a technique to select regression test cases for web based Java applications. Majority of the web applications follow Service Oriented Architecture (SOA). The server side components are often distributed and work independently on different nodes. Testing these components is difficult and time consuming. The distributed and batch nature of application leads to major challenges in testing them effectively. We list out some of these challenges and present our tool SoRTEA (Selection of Regression Test for Enterprise Application), which addresses few of them in selection of the regression test cases.

    Other authors
    See publication
  • E-Xplore: Enterprise API Explorer

    International Conference on Software Maintenance / IEEE

    Plenty of open source libraries and frameworks are available for developers these days for reuse in their projects. However the difficulty in finding and reusing the correct API among the hundreds of available APIs far outweighs the advantage of saving time. The problem is acute in enterprise code base. Online forums like Stack Overflow are no help for enterprise source code as they are closed in nature. We have developed a tool called E-Xplore that addresses this issue by letting the…

    Plenty of open source libraries and frameworks are available for developers these days for reuse in their projects. However the difficulty in finding and reusing the correct API among the hundreds of available APIs far outweighs the advantage of saving time. The problem is acute in enterprise code base. Online forums like Stack Overflow are no help for enterprise source code as they are closed in nature. We have developed a tool called E-Xplore that addresses this issue by letting the programmers search in large source code base and browse them effectively. The tool also provides related artifacts in the form of result clustering. We evaluated E-Xplore with other tools via user study with developers working on an enterprise banking system with more than 10 million lines of code. A set of common tasks was given to the developers with and without the tool. We observed that the tool offered appreciable time and effort benefits in large scale software system development and maintenance. In this paper we describe the tool and its features which help develop and maintain source code effectively.

    Other authors
    See publication
  • Latent Co-development Analysis Based Semantic Search for Large Code Repositories

    International Conference on Software Maintenance/ IEEE

    Distributed and collaborative software development has increased the popularity of source code repositories like GitHub. With the number of projects in such code repositories exceeding millions, it is important to identify the domains to which the projects belong. A domain is a concept or a hierarchy of concepts used to categorize a project. We have proposed a model to cluster projects in a code repository by mining the latent co-development network. These identified clusters are mapped to…

    Distributed and collaborative software development has increased the popularity of source code repositories like GitHub. With the number of projects in such code repositories exceeding millions, it is important to identify the domains to which the projects belong. A domain is a concept or a hierarchy of concepts used to categorize a project. We have proposed a model to cluster projects in a code repository by mining the latent co-development network. These identified clusters are mapped to domains with the help of a taxonomy which we constructed using the metadata from an online Question and Answer (Q&A) website. To demonstrate the validity of the model, we built a prototype for semantic search on source code repositories. In this paper, we outline the proposed model and present the early results.

    Other authors
    See publication
  • A Data-centric Heuristic for Hadoop Provisioning in the Cloud

    Proceeding Compute '13 Proceedings of the 6th ACM India Computing Convention/ ACM

    Research agencies and organizations work on algorithms and techniques to reduce Operational and Capital Expenditure. They move to Cloud to transform the Capital Expenditure (Capex) to Operational Expenditure (Opex). They use the cloud to crunch large amounts of commercial and social data. This paper proposes a heuristic approach to reduce the operational cost of virtual machines (VMs) running Hadoop. The heuristic is simple and effective, it scales the number of Hadoop nodes based on the type…

    Research agencies and organizations work on algorithms and techniques to reduce Operational and Capital Expenditure. They move to Cloud to transform the Capital Expenditure (Capex) to Operational Expenditure (Opex). They use the cloud to crunch large amounts of commercial and social data. This paper proposes a heuristic approach to reduce the operational cost of virtual machines (VMs) running Hadoop. The heuristic is simple and effective, it scales the number of Hadoop nodes based on the type and size of the job submitted. We validate our heuristic with Hadoop word-count example on different data samples. Our implementation is independent of the cloud provider. Hence, the heuristic is applicable to both private and public cloud.

    Other authors
    See publication
  • Metrics for modularization assessment of Scala and C# systems

    2013 4th International Workshop on Emerging Trends in Software Metrics (WETSoM) /IEEE

    Modularization of a software system leads to software that is more understandable and maintainable. Hence it is important to assess the modularization quality of a given system. In this paper, we define metrics for quantifying the level of modularization in Scala and C# systems. We propose metrics for Scala systems, measuring modularization with respect to concepts like referential transparency, functional purity, first order functions etc., which are present in modern functional programming…

    Modularization of a software system leads to software that is more understandable and maintainable. Hence it is important to assess the modularization quality of a given system. In this paper, we define metrics for quantifying the level of modularization in Scala and C# systems. We propose metrics for Scala systems, measuring modularization with respect to concepts like referential transparency, functional purity, first order functions etc., which are present in modern functional programming languages. We also propose modularity metrics for C# systems in addition to the Object Oriented metrics that are existing in the literature. We validated our metrics, by applying them to popular open-source Scala Systems - Lift, Play, Akka and C# systems - ProcessHacker and Cosmos.

    Other authors
    See publication
  • Discovery of technical expertise from open source code repositories.

    22nd WWW 2013: Rio de Janeiro, Brazil - Companion Volume

    Online Question and Answer websites for developers have emerged as the main forums for interaction during the soft-ware development process. The veracity of an answer in such websites is typically verified by the number of ‘upvotes’ that the answer garners from peer programmers using the same forum. Although this mechanism has proved to be extremely successful in rating the usefulness of the answers, it does not lend itself very elegantly to model the expertise of a user in a particular domain.…

    Online Question and Answer websites for developers have emerged as the main forums for interaction during the soft-ware development process. The veracity of an answer in such websites is typically verified by the number of ‘upvotes’ that the answer garners from peer programmers using the same forum. Although this mechanism has proved to be extremely successful in rating the usefulness of the answers, it does not lend itself very elegantly to model the expertise of a user in a particular domain. In this paper, we propose a model to rank the expertise of the developers in a target domain by mining their activity in different opensource projects. To demonstrate the validity of the model, we built a recommendation system for StackOverflow which uses the data mined from GitHub

    Other authors
    See publication
  • Technology Independent UI Framework for Service Providers

    IEEE

    Business agility is the key driver for successful enterprises. This is very common in the service industry where service provider has to develop the service and keep it up to date with the technology and industry trends. We present a framework which we created to focus on business feature development at the client side (browser), isolating developers from rapid changes in UI technology. This allowed us for a quick movement to a new UI platform with minimal changes in the existing logic. We…

    Business agility is the key driver for successful enterprises. This is very common in the service industry where service provider has to develop the service and keep it up to date with the technology and industry trends. We present a framework which we created to focus on business feature development at the client side (browser), isolating developers from rapid changes in UI technology. This allowed us for a quick movement to a new UI platform with minimal changes in the existing logic. We demonstrate the importance of such a framework and the challenges faced during the framework development. We also reference some of the open platforms which have developed a framework similar to us and how they won over their competitors. Finally, we compare the cost of developing the framework with the cost of business agility.

    Other authors
    See publication
  • Aggregating Bills and Invoices on Cloud for Anytime Anywhere Access: A Sustainable System

    Proceeding ICSEM '12 Proceedings of the 2012 Third International Conference on Services in Emerging Markets Pages 1-5 IEEE Computer Society Washington, DC, USA

    Cloud storage is a model of networked online storage where data is stored in virtualized pools of storage which are generally hosted by third parties. Access to cloud storage devices (also known as Storage-as-a-Service (IaaS) or Resource-as-a-Service (RaaS) are getting popular because of their anytime-anywhere flexibility and low cost. It is being used for the purpose of storing music files, statements, bills and other important documents, presentations etc. Organizations like Google, Amazon…

    Cloud storage is a model of networked online storage where data is stored in virtualized pools of storage which are generally hosted by third parties. Access to cloud storage devices (also known as Storage-as-a-Service (IaaS) or Resource-as-a-Service (RaaS) are getting popular because of their anytime-anywhere flexibility and low cost. It is being used for the purpose of storing music files, statements, bills and other important documents, presentations etc. Organizations like Google, Amazon, Rackspace, and Dropbox are providing space access to storage-on-cloud for multiple uses. Besides organizations the concept of RaaS is getting popular among end-users too. Typically a user scans his important documents and store on the subscribed storage space. This helps him to access his important documents in transit. We first present the key determinants that influence the diffusion of RaaS among the end-users. Further to this, a service model is proposed where the retail point of sale would automatically store the invoices and bills on end-user's cloud. This would reduce the chances of missed documents and unnecessary troubles of scanning. The proposed model would also help to save the printing and paper cost for the retailer as well as for the user, further contributing towards the environment and sustainability. Additionally whenever required the user can provide the access code of the particular bill to the concerned authority for any verifications and approvals. The user can just point to that URL and hence he/she need not print the bilss. This would prevent the production of frauds and forged bills. In the current study we are presenting an improved process flow chart and architecture model for the illustrated concept. This is followed by the architecture description of the proposed service model.

    Other authors
    See publication

Patents

  • Assessing modularity of a program written in object oriented language

    Issued US 9760369

    The technique relates to a system and method for assessing modularity of a program written in an object oriented language. This technique involves receiving information related to modularization of the program written in the object oriented language. Then the modularization of the program is assessed by calculating object encapsulation metrics, partial types metrics, extension method metrics, delegates metrics and static variable usage metrics. Further, an assessment report of the…

    The technique relates to a system and method for assessing modularity of a program written in an object oriented language. This technique involves receiving information related to modularization of the program written in the object oriented language. Then the modularization of the program is assessed by calculating object encapsulation metrics, partial types metrics, extension method metrics, delegates metrics and static variable usage metrics. Further, an assessment report of the modularization is generated with respect to the said metrics.

    Other inventors
  • Technique for plagiarism detection in program source code files based on design pattern

    Issued US 9389852


    A technique for source code plagiarism evaluation is disclosed. Program source code files of the object orientated program are received. Class data of the program source code files are determined to comprise of at least a block of one or more design patterns wherein the one or more design patterns are stored in a database. A plagiarism value is evaluated for each of the program source code files wherein the class data of the program source code file matches with class data of an original…


    A technique for source code plagiarism evaluation is disclosed. Program source code files of the object orientated program are received. Class data of the program source code files are determined to comprise of at least a block of one or more design patterns wherein the one or more design patterns are stored in a database. A plagiarism value is evaluated for each of the program source code files wherein the class data of the program source code file matches with class data of an original program source code file. Program source code files wherein the class data of each of the program source code files comprises of the block of the same design pattern are categorized and the plagiarism value of the categorized program source code files are analyzed.

    Other inventors
  • Facet Support, Clustering for Code Query Results

    Issued US 9348894

    Techniques and tools are described for refining source-code query results. For example, source-code query results for a query can be generated, semantic clusters of the source-code query results can be generated, and based on a selection of a semantic cluster option, refined source-code query results can be sent. Also, for example, source-code query results can be received, selections of facet values associated with groups of the source-code query results can be sent, and based on selected…

    Techniques and tools are described for refining source-code query results. For example, source-code query results for a query can be generated, semantic clusters of the source-code query results can be generated, and based on a selection of a semantic cluster option, refined source-code query results can be sent. Also, for example, source-code query results can be received, selections of facet values associated with groups of the source-code query results can be sent, and based on selected facet values, a subset of the source-code query results can be received.

    Other inventors
    See patent
  • Methods for Detecting Plagiarism In Software Code And Devices Thereof

    Issued US 9207915

    A non-transitory computer readable medium, plagiarism detection device, and method which generate an abstract syntax tree from software code in an computer readable source file, the software code comprising at least one class; identifies one or more method invocations in the source file by means of the abstract syntax tree, and resolves each of the one or more method invocations in the at least one class by acquiring source code associated with each of the one or more invoked methods, where…

    A non-transitory computer readable medium, plagiarism detection device, and method which generate an abstract syntax tree from software code in an computer readable source file, the software code comprising at least one class; identifies one or more method invocations in the source file by means of the abstract syntax tree, and resolves each of the one or more method invocations in the at least one class by acquiring source code associated with each of the one or more invoked methods, where acquiring source code involves identifying at least one node of the abstract syntax tree with which the source code is associated and copying the source code therein and replacing the one or more method invocations in the source file with the copied source code. The source file may be compared with predetermined data, in some embodiments.

    Other inventors
    See patent
  • Structural search of source code

    Issued US 9009664

    Techniques and tools are described for searching source code. For example, source code can be indexed, a code structure query can be received, index records that conform to the code structure query can be identified, and code structure query results that correspond to the identified index records conforming to the code structure query can be sent. Also for example, a code structure query can be sent, a list of code structure query results corresponding to index records that conform to the code…

    Techniques and tools are described for searching source code. For example, source code can be indexed, a code structure query can be received, index records that conform to the code structure query can be identified, and code structure query results that correspond to the identified index records conforming to the code structure query can be sent. Also for example, a code structure query can be sent, a list of code structure query results corresponding to index records that conform to the code structure query can be received, at least one of the code structure query results can be selected, based on the selection, a formatted source-code file and a code hierarchy can be received, a code annotation associated with the formatted source-code file can be sent, and an annotation result corresponding to the formatted source-code file can be received.

    Other inventors
    See patent
  • System and Method for Dynamically Creating Machine Images for Instantiating Virtual Machines

    Issued US 8869097

    A method and apparatus for creating a machine image to be used in instantiating virtual nodes in a cloud computing environment. A virtual machine operating system image is created based on the configuration file. The machine operating system image is loaded in the cloud environment as a machine instance. An EBS disk is created based on the configuration file, and the EBS disk is attached to the machine instance. The method and apparatus allow software to be provisioned on the fly merely by…

    A method and apparatus for creating a machine image to be used in instantiating virtual nodes in a cloud computing environment. A virtual machine operating system image is created based on the configuration file. The machine operating system image is loaded in the cloud environment as a machine instance. An EBS disk is created based on the configuration file, and the EBS disk is attached to the machine instance. The method and apparatus allow software to be provisioned on the fly merely by being specified in the configuration file, which can be an XML file or other declarative document

    Other inventors
    See patent
  • Online integrated development environment with code assist

    Issued US 8869097

    An online integrated development environment (IDE) providing code assist is described. A method for providing code assist within the online IDE comprises receiving a request from a client device to access a software development project, storing code assist information related to the software development project, and sending code assist information to the client device. The client device stores the received code assist information and uses it for local code assist operations at the client…

    An online integrated development environment (IDE) providing code assist is described. A method for providing code assist within the online IDE comprises receiving a request from a client device to access a software development project, storing code assist information related to the software development project, and sending code assist information to the client device. The client device stores the received code assist information and uses it for local code assist operations at the client device. The client device can receive a subset of a database of code assist information stored at a server environment providing the online IDE. The client device accesses the online IDE via a web browser.

    Other inventors
    See patent
  • Systems and Methods for Effective Selection of Disparate Distributed Power Sources for Smart Grid

    Filed US 20150120069

    This technology relates to systems and methods for effective selection of disparate distributed power sources for smart grid in near real time manner to meet the specific power demand. Power from the plurality of disparate power sources is received and then one or more power sources among the plurality of disparate power sources are selected based on one or more predefined requirements. At least one effective power source is determined from the one or more power sources by applying one or more…

    This technology relates to systems and methods for effective selection of disparate distributed power sources for smart grid in near real time manner to meet the specific power demand. Power from the plurality of disparate power sources is received and then one or more power sources among the plurality of disparate power sources are selected based on one or more predefined requirements. At least one effective power source is determined from the one or more power sources by applying one or more algorithm based on number and range of the one or more power sources. The one or more algorithm comprise Complete Karmarkar Karp (CKK), pbrute, Heuristic based pbrute. A signal for selection of the at least one effective power source is generated and the signal is sent to a circuit switcher to supply the power from the at least one effective power sources to the smart grid.

    Other inventors
    See patent

Projects

  • Latent Co-Development Analysis Based Semantic Search

    -

    Developed a model to perform semantic search on GitHub. Clustered projects on GitHub based on the developer contribution network and used the tags from stackoverflow to label these projects.

    Other creators

Languages

  • English

    Native or bilingual proficiency

Recommendations received

More activity by Allahbaksh (AB)

View Allahbaksh (AB)’s full profile

  • See who you know in common
  • Get introduced
  • Contact Allahbaksh (AB) directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Add new skills with these courses