A utomatic Model Generation from Documentation as long as Java API Functions Motivation Automatically Generate Models as long as Libraries How to model library behaviors

A utomatic Model Generation from Documentation as long as Java API Functions Motivation Automatically Generate Models as long as Libraries How to model library behaviors www.phwiki.com

A utomatic Model Generation from Documentation as long as Java API Functions Motivation Automatically Generate Models as long as Libraries How to model library behaviors

Bellis, Bill, Meteorologist has reference to this Academic Journal, PHwiki organized this Journal Automatic Model Generation from Documentation as long as Java API Functions Juan Zhai, Jianjun Huang, Shiqing Ma, Xiangyu Zhang,Lin Tan, Jianhua Zhao, Feng QinMotivationLibrariesPart of software behaviorsAs important as the software itselfChallengesBinary only, no source codeImplemented in different languagesComplex optimizationsMany more Previous works: generate models manuallyAutomatically Generate Models as long as LibrariesHow to model library behaviorspublic void add(int index, E element)Inserts the specified element at the specified position in this list.Shifts the element currently at that position (if any), in addition to any subsequent elements to the right.Throws:IndexOutOfBoundsException: if the index is out of range (index<0index>size())-Q: How do we know how to use libraries-A: By reading API documents.-Q: Can we model libraries from API documents-A: Yes. This is what we do.

Darton College US www.phwiki.com

This Particular University is Related to this Particular Journal

Design: OverviewText AnalyzerModel GeneratorModel ValidatorTree Trans as long as merDesign: Text AnalyzerState-of-the-art work: Stan as long as d ParserNot perfect because of the nature (e.g. ambiguity) of natural languagesthe head ofthis deque,ornull if this deque is emptyReturns the head of this deque,OR returns the head of null if this deque is empty.Returns the head of this deque, or null if this deque is empty.Returnsthe head ofthis deque,ornull if this deque is emptyReturns the head of this deque,OR returns null if this deque is empty.ReturnsLift Up

Design: Tree Node Trans as long as mer Ambiguities of natural languagesK tree c in addition to idatesHighest-scoring tree is not always the correct oneToo much time to try all c in addition to idatesObservation:Caused by phrases starting with “, or” in addition to “, in addition to ”Solution:Lift up & Push down “, ”, “or / in addition to ” in addition to all their right siblingsDesign: GeneratorsCopy & PasteIR & Model generatorVariables, Structures, OperationsDesign: IR Generator – VariablesInternal variables: any namesParameters: identify from documentsadd(int index , E element)Inserts the specified element at the specified position in this list.Inserts element at index in this list.the specified $(word)

Design: IR Generator – Program structuresSequentialDefaultLoop structurepluralssingular nouns modified by “each”the first/last occurrence indicate the loop iteration orderConditional structureif/whenotherwiseDesign: Model GeneratorTile the IR (tree)Tree Pattern Design: Model GeneratorUnified data structure model: one-dimensional arrayPrimitive: tree pattern corresponds to a piece of code templateelements[o2] = o1elements[index] = elementinsert

Design: Model GeneratorTile the IR (tree)Design: Model ValidatorEvaluation SetupHardwareCPU: Intel® i7-3770RAM: 8GBOperating systemUbuntu 12.04

Evaluation: Overall ResultEvaluation: Cases that Cannot be H in addition to ledIncompleteness of API documentsadd(int index, Object element) in AttributeList lack of descriptions about the IndexOutOfBoundsException Describe one primitive behavior with several sentencesinsert(int index, Char[] str, int offset, int len) in StringBuffer Inserts the string representation of a subarray of the str array argument into this sequence. The subarray begins at the specified offset in addition to extends len chars. The characters of the subarray are inserted into this sequence atthe position indicated by indexEvaluation: Static Taint AnalysisUndesirable in as long as mation flowCompare paths found by using our model V.S. official JDKSet upAndroid: 96 appsSources: User inputSinks: Internet, Log

Evaluation: Static Taint AnalysisResultsthe same set of in as long as mation leak warnings as long as both versions as long as almost all appsexcept app com.yes123.mobileCase: com.123yes.mobilOur model – 16 paths V.S. JDK – 14 pathsJava Native Interface (JNI) function call: toArray(object[]) -> System.arrayCopy()Evaluation: Static Taint AnalysisEfficiency improvement distributionMaximum: ~50%Average: ~16%Evaluation: Dynamic SlicingOur Models vs Naïve Models~32 times smaller dynamic slice size~17% per as long as mance improvement

Related WorkDocumentation AnalysisSarah[ICSE ‘16], Zhong [OOPSLA ’13, ASE ’09], Tan [ICST ’12, ICSE ’11, SOSP ’07] , P in addition to ita [ICSE ’12], Sun [ICSE ’10], Sinha [ICST ’10], Runeson [ICSE ’07] , Henkel [TSE ’07]Environment ModelingJeon[ICSE ‘16], Merwe [SEN ’15], Ceccarello [SEN ’14], Palepu [ASE ’13], Qi [WCRE ’12], Cadar [OSDI ’08], Tkachuk [ASE ’03]ConclusionIdea: modeling Java library from Java API documentsA combination of NLP in addition to auto-testingAdvantagesExpected behaviors with simpler code (no JNI code, no other languages etc.)Helps many program analysis techniques

Bellis, Bill ABC15 News at 6 PM - KNXV-TV Meteorologist www.phwiki.com

Bellis, Bill Meteorologist

Bellis, Bill is from United States and they belong to ABC15 News at 6 PM – KNXV-TV and they are from  Phoenix, United States got related to this Particular Journal. and Bellis, Bill deal with the subjects like Meteorology

Journal Ratings by Darton College

This Particular Journal got reviewed and rated by Darton College and short form of this particular Institution is US and gave this Journal an Excellent Rating.