A method for making a ductile and porous shape memory alloy (SMA) using spark plasma sintering, and an energy absorbing structure including a ductile and porous SMA are disclosed. In an exemplary structure, an SMA spring encompasses a generally cylindrical energy absorbing material. The function of the SMA spring is to resist the bulging of the cylinder under large compressive loading, thereby increasing a buckling load that the cylindrical energy absorbing material can accommodate. The SMA spring also contributes to the resistance of the energy absorbing structure to an initial compressive loading. Preferably, the cylinder is formed of ductile, porous and super elastic SMA. A working prototype includes a NiTi spring, and a porous NiTi cylinder or rod.
A code completion tool uses a deep learning model to predict the likelihood of a method completing a method invocation. In one aspect, the deep learning model is a LSTM trained on features that represent the syntactic context of a method invocation derived from an abstract tree representation of the code fragment.
Code Completion For Dynamically-Typed Programming Languages Using Machine Learning
- REDMOND WA, US NEELAKANTAN SUNDARESAN - BELLEVUE WA, US JASON WANG - BELLEVUE WA, US YING ZHAO - BELLEVUE WA, US
International Classification:
G06F 8/30 G06N 20/00
Abstract:
A code completion system predicts candidates to complete a method invocation in a source code program written in a dynamically-typed programming language. A pseudo type is generated for each variable in the source code program to approximate the runtime type of the variable. The pseudo type is then used to group a set of method invocations into a classification that can be modeled by an n-order Markov chain model. The n-order Markov chain model is used to predict candidate methods more likely to complete a method invocation in a dynamically-typed programming language.
A code completion tool uses a deep learning model to predict the likelihood of a method completing a method invocation. In one aspect, the deep learning model is a LSTM trained on features that represent the syntactic context of a method invocation derived from an abstract tree representation of the code fragment.
Code Completion Of Method Parameters With Machine Learning
- Redmond WA, US DAVID POESCHL - KIRKLAND WA, US NEELAKANTAN SUNDARESAN - BELLEVUE WA, US SHUO ZHANG - BELLEVUE WA, US YING ZHAO - REDMOND WA, US
International Classification:
G06K 9/62 G06N 20/00 G06F 8/70
Abstract:
A code completion tool uses machine learning models to more precisely predict the likelihood of the parameters of a method invocation. A score is computed for each candidate variable that is used to rank the viability of a variable as the intended parameter. The score is a weighted sum of a scope factor, an edit distance factor and a declaration proximity factor. The factors are based on a scope model, a method overload model, and a weight file trained offline on a training set of source code programs utilizing various method invocations.
Code Completion For Languages With Hierarchical Structures
- REDMOND WA, US NEELAKANTAN SUNDARESAN - BELLEVUE WA, US YING ZHAO - BELLEVUE WA, US
International Classification:
G06N 20/00 G06F 8/30
Abstract:
A code completion system predicts candidates to complete a code fragment with a tag name and/or an attribute name in source code written in a hierarchically-structured language. Candidates for predicting a tag name are based on a first-order tag Markov chain model generated from usage patterns of relationships of tag names found in a training dataset. Candidates for predicting an attribute name are based on a second-order attribute Markov chain model generated from usage patterns of sequences of attribute names associated with each tag name found in the training dataset.
Code Completion Of Custom Classes With Machine Learning
- Redmond WA, US NEELAKANTAN SUNDARESAN - BELLEVUE WA, US YING ZHAO - REDMOND WA, US
International Classification:
G06F 8/33 G06N 20/00 G06N 7/00
Abstract:
A code completion tool uses machine learning models generated for custom or proprietary classes associated with a custom library of classes of a programming language and for overlapping classes associated with a standard library of classes for the programming language. The machine learning models are trained with features from usage patterns of the custom classes and overlapping classes found in two different sources of training data. An n-order Markov chain model is trained for each custom class and each overlapping class from the usage patterns to generate probabilities to predict a method invocation more likely to follow a sequence of method invocations for a custom class and for an overlapping class.
A code completion tool uses machine learning models to more precisely predict the likelihood of an invocation of a particular overloaded method completing a code fragment that follows one or more method invocations of a same class in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent the method signatures of overloaded methods in order to generate ordered sequences of method signatures of overloaded method invocations.