Asankhaya Sharma

Singapore, Singapore Contact Info
4K followers 500+ connections

Join to view profile

About

Currently, I am the co-founder and chief technology officer at patched.codes, a company…

Articles by Asankhaya

See all articles

Contributions

Activity

Join now to see all activity

Experience & Education

  • patched

View Asankhaya’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.

Licenses & Certifications

Publications

  • Certified Reasoning with Infinity

    International Symposium on Formal Methods

    We demonstrate how infinities improve the expressivity, power, readability,
    conciseness, and compositionality of a program logic. We prove that adding
    infinities to Presburger arithmetic enables these improvements without sacrificing
    decidability. We develop Omega++, a Coq-certified decision procedure for
    Presburger arithmetic with infinity and benchmark its performance. Both the program
    and proof of Omega++ are paramaterized over user-selected semantics for
    the indeterminate…

    We demonstrate how infinities improve the expressivity, power, readability,
    conciseness, and compositionality of a program logic. We prove that adding
    infinities to Presburger arithmetic enables these improvements without sacrificing
    decidability. We develop Omega++, a Coq-certified decision procedure for
    Presburger arithmetic with infinity and benchmark its performance. Both the program
    and proof of Omega++ are paramaterized over user-selected semantics for
    the indeterminate terms (such as 0 * ∞).

    Other authors
    See publication
  • Exploiting undefined behaviors for efficient symbolic execution

    ACM ICSE

    Symbolic execution is an important and popular technique used in several software engineering tools for test case generation, debugging and program analysis. As such improving the performance of symbolic execution can have huge impact on the effectiveness of such tools. In this paper, we present a technique to systematically introduce undefined behaviors during compilation to speed up the subsequent symbolic execution of the program. We have implemented our technique inside LLVM and tested with…

    Symbolic execution is an important and popular technique used in several software engineering tools for test case generation, debugging and program analysis. As such improving the performance of symbolic execution can have huge impact on the effectiveness of such tools. In this paper, we present a technique to systematically introduce undefined behaviors during compilation to speed up the subsequent symbolic execution of the program. We have implemented our technique inside LLVM and tested with an existing symbolic execution engine (Pathgrind). Preliminary results on the SIR repository benchmark are encouraging and show 48% speed up in time and 30% reduction in the number of constraints.

    See publication
  • Towards Complete Specifications with an Error Calculus

    NASA Formal Method

    Other authors
  • Cloud Based Document Delivery Service for Emerging Markets

    ICSEM

    Presented this paper on Services Design at ‘International Conference for Services in Emerging Markets’ (ICSEM, 2010)

    See publication
  • PRISM: platform for remote sensing using smartphones

    Proceeding MobiSys '10 Proceedings of the 8th international conference on Mobile systems, applications, and services

    To realize the potential of opportunistic and participatory sensing using mobile smartphones, a key challenge is ensuring the ease of developing and deploying such applications, without the need for the application writer to reinvent the wheel each time. To this end, we present a Platform for Remote Sensing using Smartphones (PRISM) that balances the interconnected goals of generality, security, and scalability. PRISM allows application writers to package their applications as executable…

    To realize the potential of opportunistic and participatory sensing using mobile smartphones, a key challenge is ensuring the ease of developing and deploying such applications, without the need for the application writer to reinvent the wheel each time. To this end, we present a Platform for Remote Sensing using Smartphones (PRISM) that balances the interconnected goals of generality, security, and scalability. PRISM allows application writers to package their applications as executable binaries, which offers efficiency and also the flexibility of reusing existing code modules. PRISM then pushes the application out automatically to an appropriate set of phones based on a specified set of predicates. This push model enables timely and scalable application deployment while still ensuring a good degree of privacy. To safely execute untrusted applications on the smartphones, while allowing them controlled access to sensitive sensor data, we augment standard software sandboxing with several PRISM-specific elements like resource metering and forced amnesia.

    We present three applications built on our implementation of PRISM on Windows Mobile: citizen journalist, party thermometer, and road bump monitor. These applications vary in the set of sensors they use and in their mode of operation (depending on human input vs. automatic). We report on our experience from a small-scale deployment of these applications. We also present a large-scale simulation-based analysis of the scalability of PRISM's push model.

    Other authors
    • Tathagata Das
    • Prashanth Mohan
    • Venkata N. Padmanabhan
    • Ramachandran Ramjee
    See publication

Patents

  • Open source vulnerability prediction with machine learning ensemble

    Filed US 16/105,016

    A system to create a stacked classifier model combination or classifier ensemble has been designed for identification of undisclosed flaws in software components on a large-scale. This classifier ensemble is capable of at least a 54.55% improvement in precision. The system uses a K-folding cross validation algorithm to partition a sample dataset and then train and test a set of N classifiers with the dataset folds. At each test iteration, trained models of the set of classifiers generate…

    A system to create a stacked classifier model combination or classifier ensemble has been designed for identification of undisclosed flaws in software components on a large-scale. This classifier ensemble is capable of at least a 54.55% improvement in precision. The system uses a K-folding cross validation algorithm to partition a sample dataset and then train and test a set of N classifiers with the dataset folds. At each test iteration, trained models of the set of classifiers generate probabilities that a sample has a flaw, resulting in a set of N probabilities or predictions for each sample in the test data. With a sample size of S, the system passes the S sets of N predictions to a logistic regressor along with “ground truth” for the sample dataset to train a logistic regression model. The trained classifiers and the logistic regression model are stored as the classifier ensemble.

    Other inventors
    See patent
  • Open-source software vulnerability analysis

    Filed US 16/050,050

    To analyze open-source code at a large scale, a security domain graph language (“SGL”) has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This vulnerability database generated with SGL is used for analysis of software projects which use open source components. An agent which interacts with the vulnerability…

    To analyze open-source code at a large scale, a security domain graph language (“SGL”) has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This vulnerability database generated with SGL is used for analysis of software projects which use open source components. An agent which interacts with the vulnerability database can perform a scan of a software project to identify open-source components used in the project and submit queries to the vulnerability database to identify vulnerabilities which may affect the open-source components in the project. Results of the scan are presented to a user in the form of a vulnerability report which indicates vulnerabilities that have been discovered and which open-source components the vulnerabilities affect.

    Other inventors
    See patent
  • Software vulnerability graph database

    Filed US 16/050,109

    To analyze open-source code at a large scale, a security domain graph language (“SGL”) has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This graphical database can be accessed via a database interface directly or accessed by an agent that interacts with the database interface. To build the graph database, a…

    To analyze open-source code at a large scale, a security domain graph language (“SGL”) has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This graphical database can be accessed via a database interface directly or accessed by an agent that interacts with the database interface. To build the graph database, a database interface processes an open-source component and creates graph structures which represent relationships present in the open-source component. The database interface transforms a vulnerability description into a canonical form based on a schema for the graph database and updates the database based on a determination of whether the vulnerability is a duplicate. This ensures quality and consistency of the vulnerability dataset maintained in the graph database.

    Other inventors
    See patent
  • Signatures for software components

    Filed US 14506490

    A facility for analyzing a pair of code files is described. From each of the code files, the facility extracts a hierarchy of textual names. The facility then determines the score reflecting a level of similarity between the extracted hierarchies of textual names for attribution to the pair of code files.

    See patent
  • Displaying content on multiple web pages

    Filed US 12623458

    Aspects of the subject matter described herein relate to displaying content on multiple
    pages. In aspects, a request for content is received from a browsing component. The content
    is divided into pages suitable for displaying on a display associated with the browsing
    component. Navigation elements may be embedded in the pages to allow a user using the
    browsing component to navigate between pages corresponding to the content.

    See patent

Honors & Awards

  • WSHAsia Award

    World of Safety and Health Asia

  • Veracode Way Award

    Veracode

  • ACM Distinguished Paper Award

    ACM

    For the paper titled “A Machine Learning Approach for Vulnerability Curation” at the MSR 2020 conference.

  • Editors' Picks

    Medium

    For the series "How to be an Authentic Leader?" - https://medium.com/series/how-to-be-an-authentic-leader-5f7d18e70255

  • Top 10 Downloaded Articles

    ACM SIGSOFT

    For the paper titled "Exploiting Undefined Behaviors for Efficient Symbolic Execution".
    Software Engineering Notes - http://portalparts.acm.org/2700000/2693208/fm/frontmatter.pdf

  • Bronze Medal

    ACM

    Student Research Competition (http://src.acm.org/) at ICSE 2014

Languages

  • English

    Native or bilingual proficiency

  • Hindi

    Native or bilingual proficiency

Organizations

  • 3 Day Startup

    Mentor

    3 Day Startup’s mission is to kick-start new student-run companies and build entrepreneurial capabilities in students and their university communities. We rent work space for 3 full days, recruit 45 student participants from a wide range of backgrounds, cater food and drinks, and bring in top-notch entrepreneurs and investors. The participants pick the best ideas for startups during the Day 1 brainstorming session and deliver prototypes and investor pitches on the final night.

  • Okyasoft

    Co-Founder

    Helping Startups Succeed

Recommendations received

More activity by Asankhaya

View Asankhaya’s full profile

  • See who you know in common
  • Get introduced
  • Contact Asankhaya 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

Others named Asankhaya Sharma

Add new skills with these courses