Goto

Collaborating Authors

 semaphore


Modelling Concurrency Bugs Using Machine Learning

arXiv.org Artificial Intelligence

Artificial Intelligence has gained a lot of traction in the recent years, with machine learning notably starting to see more applications across a varied range of fields. One specific machine learning application that is of interest to us is that of software safety and security, especially in the context of parallel programs. The issue of being able to detect concurrency bugs automatically has intrigued programmers for a long time, as the added layer of complexity makes concurrent programs more prone to failure. The development of such automatic detection tools provides considerable benefits to programmers in terms of saving time while debugging, as well as reducing the number of unexpected bugs. We believe machine learning may help achieve this goal by providing additional advantages over current approaches, in terms of both overall tool accuracy as well as programming language flexibility. However, due to the presence of numerous challenges specific to the machine learning approach (correctly labelling a sufficiently large dataset, finding the best model types/architectures and so forth), we have to approach each issue of developing such a tool separately. Therefore, the focus of this project is on comparing both common and recent machine learning approaches. We abstract away the complexity of procuring a labelled dataset of concurrent programs under the form of a synthetic dataset that we define and generate with the scope of simulating real-life (concurrent) programs. We formulate hypotheses about fundamental limits of various machine learning model types which we then validate by running extensive tests on our synthetic dataset. We hope that our findings provide more insight in the advantages and disadvantages of various model types when modelling programs using machine learning, as well as any other related field (e.g. NLP).


Intelligent Information for the Enterprise: Smartlogic

#artificialintelligence

Founded in 2006, Smartlogic is a leading San Jose, CA-based computer software company. Smartlogic's Semaphore is an enterprise-grade semantic platform that allows organizations to realize the business value of their information. Bringing structure to the unstructured, Semaphore scales to manage organizational volumes, and supports industry-standard semantic vocabularies. Its model-driven, rule-based semantic approach solves complex business problems that traditional technologies cannot. It integrates into and enhances the capabilities of existing technology to improve time to value for new opportunities.


Tenn. teacher cracks Adobe code, wins software

USATODAY - Tech Top Stories

Powell High School teacher Jimmy Waters stands in front of the San Jose Semaphore in California. Waters cracked a code broadcast by the building that had been unsolved for more than four years. Jimmy Waters, 31, teaches advanced algebra, geometry and trigonometry at Powell High School. Last summer, Waters devoted a month of his vacation time to solving the puzzle presented by the San Jose Semaphore, a project created by New York-based artist Ben Rubin in 2006. Adobe planned on rewarding Waters with a one-year subscription to its Creative Cloud software, but at his request, the company is donating 40 one-year subscriptions to Powell High School's computer lab, on top of a 3-D printer "to help the students push the boundaries of creativity even further," according to a company news release.


The Future is Now Smartlogic

#artificialintelligence

About two weeks ago, I saw an article (actually, one of my colleagues posted it on our intranet) from the MIT Technology Review about the limitations of Artificial Intelligence. The article is here for those of you who want to read it in full, but the fundamental concept is; while AI has made great strides in the last 20 years or so (see the recent win by Google's AlphaGo over Lee Sodol, who is thought to be one of the best Go players of all time), it is still fundamentally inadequate in one respect – we have not yet built a machine that can carry on a conversation with anything remotely approximating human facility. Quite simply, the computer does not understand the meaning of words that it is using and is therefore unable to use them intelligently. The reason for this, according to the article, is that "words often have meaning based on context and the appearance of the letters and words." It's not enough to be able to identify a concept represented by a bunch of letters strung together.