CN106339313A - Method for automatically detecting inconsistency of Java API program exception and document description - Google Patents

Method for automatically detecting inconsistency of Java API program exception and document description Download PDF

Info

Publication number
CN106339313A
CN106339313A CN201610662289.2A CN201610662289A CN106339313A CN 106339313 A CN106339313 A CN 106339313A CN 201610662289 A CN201610662289 A CN 201610662289A CN 106339313 A CN106339313 A CN 106339313A
Authority
CN
China
Prior art keywords
document
exception
description
parameter
java api
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610662289.2A
Other languages
Chinese (zh)
Other versions
CN106339313B (en
Inventor
周宇
古睿航
赵洪达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201610662289.2A priority Critical patent/CN106339313B/en
Publication of CN106339313A publication Critical patent/CN106339313A/en
Application granted granted Critical
Publication of CN106339313B publication Critical patent/CN106339313B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a method for automatically detecting inconsistency of a Java API (Application Program Interface) program exception and document description. The method comprises the following steps: extracting and respectively analyzing an executive code part and a comment document part of each method in a source code; going through all methods of a current analysis target, extracting a throwing exception type and a triggering condition of each method, and establishing a call relation base for methods of a source code of a target project; analyzing data extracted from the target project again, firstly analyzing the current exception triggering condition of each method, then recursively analyzing the exception triggering condition in the call method according to the call relation, using a heuristic method to analyze a comment document of each method in the target project, comparing the extracted exception information with the document description information, and further detecting the problem of inconsistency of the extracted exception information and the document description information. The detecting method improves the description accuracy of a Java API document on the throwing exception, so that the software quality is further improved.

Description

A kind of java api program exception and the inconsistent automatic testing method of description of document
Technical field
The invention belongs to technical field of software engineering, different to dishing out in more particularly, to a kind of annotation document to java api The detection method of the parameter constraints description of the Chang Xiangguan situation inconsistent with the physical constraint condition of parameter in execution code.
Background technology
With the continuous increase of software project scale, efficient multiplexing code becomes pursuing a goal of industry, and using api is The important technological means of one of which.Application programming interface (application programming interface), that is, Api, is usually some open function interfaces, and its code bottom layer realization is transparent to developer, thus energy is concentrated on industry Business logic, improves development efficiency.
Developer understands the constraints of interface by api document, to reach the purpose of proper use of api.In the present invention In, we mainly for java api document refer to, in each open method, by manual compiling, there is certain knot of tissue Structure, the javadoc document being present in code annotation form in source code.Such document is more paid attention to detail definition, such as parameter The return value codomain of span, parameter type restriction and the method, type etc..
High-quality api document it should be clear that be depicted when calling this interface need meet relevant constraint.Mould Paste even the api document of mistake, can cause software developer to understand difficulty even misinterpretation.In a practical situation, by In artificially writing mistakes and omissions that may be present, document and the reason such as code update progress is inconsistent, result in document and code exists Much inconsistent situations.Wherein the present invention be important to notice that in document to non-conformance description with execution code exist inconsistent Situation.
There are many researcheres software document to be inquired into and studies both at home and abroad, but rare constrain for abnormal in document Condition describes the research of problem.The several main aspect of correlation with regard to software document research described below.
Relation between research software document and execution code, is necessary for analysis execution code.At present, most correlational studyes Using Static Analysis Technology as technological means.Raymond et al. proposes a kind of method automatically generating java api document, By positioning abnormal, seizure exception-triggered condition, and natural language description document is generated according to the code information in trigger condition. In addition, mohamed et al. proposes utilizes symbolic execution technique, catch the constrained in code, and by the constraint extracting Condition is contrasted with the associated description in existing java api document, detects inconsistent situation.But the method is not examined Consider the call relation problem existing between java api method.
In addition, also there being the method by dynamic analysis to detect there is discordance in document, its main thinking is to carry Take related constraint in document, a series of test case is generated according to constraint code is detected.The method is mainly suitable for Null value constraint in parameter.Currently without more researchs, the method is applied to detect the other types constraint of document.
For the research of document itself, the problem that the code sample in some research concern documents exists.They one Aspect extracts corresponding code snippet from document, on the one hand a large amount of key nouns extracting in source code, such as class name, side The information such as religious name, detect the problem that these code samples exist by way of coupling.
Content of the invention
The purpose of the present invention, is to provide the inconsistent automatic detection side of description of a kind of java api program exception and document Method, it can improve the accuracy that java api document describes to throw exception, and then improves software quality.
In order to reach above-mentioned purpose, the solution of the present invention is:
A kind of java api program exception and the inconsistent automatic testing method of description of document, comprise the steps:
(1) extract the execution code section of each method and annotation documentation section in source code, be analyzed respectively;
(2) all methods of traversal present analysis target (generally using the source code of whole engineering project as input), carry Take throw exception type and its trigger condition of each method, and set up the call relation between purpose project source code each method Storehouse;
(3) analysis purpose project passes through the data extracting in step (2) again, for each method, analyzes first Current exception-triggered condition, the exception-triggered condition then according to call relation, in recursive analysis call method;
(4) for each method in purpose project, analyze it using heuristic and annotate document;
(5) for each method in purpose project, carry in the abnormal information extracting in step (3) and step (4) The document description information taken out is compared, and then detects both inconsistent problems.
In above-mentioned steps (1), annotation document refers to each java api method corresponding javadoc annotation annotation Document, this is a kind of document with half structure feature.
In above-mentioned steps (1), execution code refers to execute the program code of api function.
In above-mentioned steps (2), throw exception type refers to the affiliated type of exception object being spilled in throw sentence, sentence Formula is
throw new exception(description)
Wherein, exception refers to the type of all throw exceptions, when description refers to throw exception in code Information.
In above-mentioned steps (3), exception-triggered condition refer to code go to throw exception throw sentence when parameter setting Condition, therefore the parameter of at least one current method in this condition, must be had to participate in.
In above-mentioned steps (2), call relation Cooley open source technology, there is direct parameter transport phenomenon between acquisition methods Call relation.
The above-mentioned call relation that there is direct parameter transport phenomenon refers to, certain method is using certain parameter of oneself as shape Ginseng passes to another method that it calls, then claim between this two methods be a kind of there is direct parameter transmission call pass System.
In above-mentioned steps (3), the concrete steps of recursive analysis also include, and depth threshold, every layer method are called in setting in advance Refresh the trigger condition of abnormal information and be related to parameter information.
In above-mentioned steps (4), heuristic refers to, for certain abnormal information, check the specific bar in annotation document one by one Mesh, for involved parameter in current abnormal condition, checks whether these document entry have described all parameter names Whole, thus judging whether current exception is described in document.
If above-mentioned heuristic is based on such it is assumed that being that document is described to a certain constraints, should Description is correct.
After such scheme, the present invention mainly utilizes the means of static code analysis, abnormal to java api Program Describe inconsistence problems with respective document and carry out Aulomatizeted Detect, extract respectively in java api annotation document and execution code Abnormal information and its trigger condition, and compare to the corresponding description of document, thus detecting that may be present different in document Often description inconsistence problems, to improve the accuracy that java api document describes to throw exception, and then improve software quality.This Invention is mainly with the source code of java language as applicable object.
Brief description
Fig. 1 is that the present invention carries out, to execution code in source code and annotation document, the schematic diagram that substep extracts.
Specific embodiment
Below with reference to accompanying drawing, technical scheme is described in detail.
With reference to shown in Fig. 1, the present invention provides the inconsistent automatic detection of description of a kind of java api program exception and document Method, including following content:
(1) kernel data structure
Based on the inspection policies of the present invention, we define a basic metadata structure, for possible in store code The exception producing and its relevant information.We are named as infobox.Each infobox needs to store Exception Type, exception Trigger condition, involved parameter and this abnormal affiliated method information etc..The code analysis mentioned after herein are all bases In such metadata structure.
Because each infobox only records an abnormal relevant information, so for each api method, we may carry Take out multiple infobox data, and these abnormal informations all should be stated in the corresponding document of the method.If current There is not document-code discordance in api, then the relation between them should meet equation below:
∪ c i &subsetequal; c d o c
In formula, ciRepresent in this api method the parameter constraints information that i-th infobox is comprised, cdocRepresent Institute's Prescribed Properties information of statement in this corresponding document of api method.If it find that the comprised restriction on the parameters of certain infobox Information be unsatisfactory for above-mentioned formula then it is assumed that this api document non-conformance description is existed inconsistent.
We specifically refer to javadoc annotation information present in java source code by the document of analysis.This class Document has certain architectural feature.Basic, each java method corresponds to one piece of javadoc chunk, and each information There are multiple entries (directive), each entry is broadly divided into 3 parts: type specification, key word, descriptive statement in block. Wherein type specification is typically started with@, common are@param ,@throws and@exception etc., represents that this entry is main Content.Key word has different meanings with the difference of entry type, and in such as@param, key word is related parameter name, And key word is throw exception type in@throws and@exception.Descriptive statement is one section of natural language Word message.
(2) structure in call relation storehouse
This step will be analyzed for the call relation existing between each method in source code project.Simultaneously as I Object of study be program exception, and mainly in its trigger condition relevant parameter need meet constraints, institute It is concerned only with a kind of call relation that there is direct parameter transmission with us.
The call relation of so-called direct parameter transmission refers to, if having invoked method b in certain method a, and by the method a Certain parameter p (or some parameters are only lifted a parameter here and illustrated) be directly passed to this of method b as parameter A kind of call relation of sample.For example, inserttab (string title, the icon of javax.swing.jtabbedpane apoplexy due to endogenous wind Icon, component component, string tip, int index) in method call java.awt.container Addimpl (component comp, object constraints, int index) method, and by oneself Component parameter is directly passed to the corresponding parameter bit of the latter as parameter.We claim inserttab method and addimpl There is the call relation of direct parameter transmission between method.
This parameter transmission is characterised by, for two methods participating in call relation, the parameter of transmission between them Need to meet same constraints.If leading to exception throws because parameter is unsatisfactory for constraints in by tune method, Similarly this should be described extremely accordingly so in the corresponding document of homophony method.
We utilize the means of static analysis to build call relation storehouse.Specifically, in practice, we use Call hierarchy in eclipse module of increasing income to obtain call relation as specific technology implementation means, due to being Static analysis tools, we do not consider the dynamic call situation being caused when running by method overloading.
(3) code analysis module
We using a kind of processing mode of two-stage to execution code be analyzed, extract abnormal information therein and its Trigger condition.Wherein, the first stage analyzes abnormal information present in each method one by one, that is, extract infobox.Second stage Add the analysis of call relation, obtain the abnormal information that the method is also possible to dish out in recursive call additive method, i.e. recurrence Extract infobox.
In the first phase, we carry out syntax tree analysis using the jdt-ast instrument that eclipse provides, and then extract Go out infobox information metadata.Its algorithm idea false code is as follows:
The analysis of table 1 folk prescription method syntax tree and abnormal information extract
In false code, we use tuple (m, c, p) to represent infobox metadata, and wherein, m represents Exception Type, c generation The set of its trigger condition of table, p represents the parameter sets of involved the method in trigger condition.
Specifically, for each clause, we, according to its different type, carry out different operations.Probably it is divided into 3 Class:
A) deployable sentence, the such as combination of clause's paragraph (are specially a block object) in jdt.For such letter Single deployable paragraph, we carry out recursive search one by one again for every clause, embody the way of search of depth-first.
B) exception-triggered sentence, such as throws sentence (are specially a throwstatement object) in jdt.For Such sentence processing mode is, a newly-built infobox in the information aggregate returning, by current erroneous trigger type with And some essential informations record, then information aggregate is returned, treat that the conditional statement on upper strata is carried out to its trigger condition Supplement.
C) conditional statement, such as if sentence (are specially an ifstatement object) in jdt.To this kind of process side Formula, is the information first obtaining its clause, and recursive analysis simultaneously extracts abnormal information present in each clause, and group builds up infobox Set, then this condition is added in each information tuple of this set, and the infobox set after updating returns.
After having obtained whole information aggregate, for each tuple in set, analyze its trigger condition, find all ginsengs The parameter judging with trigger condition, replenishes the p part of tuple.So, we have obtained this information aggregate.This stage is last One step it is simply that exist local by the information obtaining.
The data being obtained according to the first stage is further analyzed by second stage.For each api to be analyzed Method, its concrete analysis step false code is as shown in table 2:
The abnormal information that table 2 combines call relation extracts
Our analysis strategy is as follows:
A) first, all infobox abnormal informations of current method are extracted;
B) check call relation storehouse, obtain all call relations of current method;
C) for each call relation, their abnormal information of recursive analysis, and return it into, form the one of current method Individual abnormal information set;
D) for each abnormal information, we can update therein according to homophony, by corresponding parameter name between tune method Trigger condition and parameter information, are allowed to the parameter name coupling with last layer.
In order to avoid call relation forms closed loop, when analysis starts it would be desirable to arrange the threshold value of a depth of recursion. When reaching estimated analysis depth, then stop downward recursive analysis.
(4) alignment schemes and matching process
We pay close attention to the correct description in document to parameter constraints.Inconsistent for describing to program exception in document Situation, it is proposed that such hypothesis:
If assuming that document is described to a certain constraints, this description is correct.
Based on this it is assumed that it is proposed that a kind of didactic detection method, to java api program exception and document Description inconsistence problems are detected, the abnormal information extracted in code is compared with api document.Specifically, from document The information such as key word and the parameter name of related constraint are inquired about, if there are these information in description it is believed that being somebody's turn to do in description Document is consistent to the description of program exception, otherwise then inconsistent.Specifically, each for extract from execution code Bar abnormal information infobox, the api document of corresponding the method, we carry out such coupling:
1) obtain the api parameter involved by current abnormal information from the trigger condition set of infobox;
2) it is directed to each document entry, judge whether to mention all parameter names extracted in previous step;
3) if this entry refer to all parameters then it is assumed that this entry has carried out correct description to this abnormal information;
4) otherwise, check next entry, meet step 3 until finding) entry, or all entry searches finish;
5) if all entry searches finish, still can not find the correct description meeting this abnormal information then it is assumed that current Document exists and there is discordance to this non-conformance description.
In sum, the present invention is by above-mentioned several modules, using the means of static analysis, to java api program exception Inconsistent with the description of document detected.Wherein mainly by module 3 the execution code in source code is analyzed with different Often information retrieval, and using the call relation analysis result to whole project in module 2, then can combine in module 4 in module 3 Above-mentioned module analysis result, is analyzed comparing to the document of corresponding api, detects both inconsistent situations.
With reference to table 3, it is the data set of the accuracy validation of the present invention, as follows:
Table 3
Table 4 is the Accuracy evaluation to non-conformance description discordance testing result in document for the present invention, as follows:
Table 4
Table 5 is the contrast experiment's accuracy being randomly assigned result, as follows:
Table 5
tp fp fn tn Prec (%) Rec (%) F-mea (%)
Null value constrains 77 124 58 103 38.3 57.0 45.8
Value constrains 125 200 128 176 38.5 49.4 43.3
Type constraint 62 31 61 23 66.7 50.4 57.4
total 264 355 247 302 42.6 51.7 46.7
Tested api is divided into 3 classes: null value constraint, value constraint and type constraint according to constrained type by us.
1st, null value constraint refers to api for parameter value is some constraintss in the case of null.It is generally divided into null value to allow Do not allow two kinds with null value.So-called null value allows, and refers to have in code and makes for space-time carries out respective handling in view of parameter value Program will not make a mistake or throw exception, and null value does not allow to refer to if parameter is null value, can make a mistake or dish out and be different Often.
2nd, value constraint refers to parameter needs to meet some value conditions, in such as java.awt.component Require in createbufferstrategy (int numbuffers, buffercapabilities caps) method, Numbuffers value need to be more than or equal to 1, otherwise by throw exception.
3rd, parameter type constraint refers to parameter must be certain type, add in such as java.awt.container Require in (component comp) method, if comp is the subclass of java.awt.window, can throw exception.
According to different constrained types, we are estimated to the accuracy of this method.In general, this method is accurate Rate is 71.5%, recall rate 85.9%, and the random selection in contrast table 3 is results, it can be seen that this method has significant effect Really.Wherein, the Detection results for type constraint are best, reach 77.4% accuracy rate and 97.6% recall rate.For The Detection results of value constraint are not fine, but its accuracy rate and recall rate are 67.3%77.5% respectively, same be better than with Machine selects.
Table 6 is the Detection results of this method to different inconsistent types, as follows:
Table 6
For the inconsistent species of non-conformance description, we are classified, wherein:
1. correctly refer to that code is consistent with document content;
2. obscure and refer to that code behavior does not specifically describe in a document, the add in such as java.awt.container (component comp, int index) method, mentions in corresponding annotation document ,@illegalargumentexception If index is invalid, does not say that what index specifically should meet and require here;
3. do not refer to and refer to that document does not have associated description for the restriction on the parameters that should provide, such as in example Addtab (string title, the component component) method of javax.swing.jtabbedpane, corresponding literary composition It can not be this constraints of window subclass that shelves do not mention component;
4. mistake refers to that relevant constraint describes mistake, in such as java.awt.event.inputevent Getmaskforbutton (int button) method, points out throws in its corresponding document illegalargumentexception if button is less than zero or greater than the Number of button masks reserved for buttons, and as can be seen that working as button to be less than 0 from code When throw exception, the now description in document and execution code behavior be inconsistent.
This several apoplexy due to endogenous wind " correct " and " obscuring " be can be regarded as consistent to non-conformance description, and " not referring to " and " mistake " is inconsistent. In the case of inconsistent, " mistake " accounting is only less than 1% it was demonstrated that our hypothesis is correct, if that is, document is to certain item constraint Condition is described, then this description is correct.Meanwhile, in the check and evaluation for " not referring to " this kind of inconsistent situation In, what it accurately judged accounts for 89.9%, proves the correct of our comparison methods simultaneously.
Table 7 is the data set of the present invention pervasive degree checking, as follows:
Table 7
Table 8 is the testing result Accuracy evaluation of the present invention pervasive degree checking, as follows:
Table 8
Can see, the present invention still can keep preferable Detection results.Wherein, the data scale of java.util.* bag Maximum, analysis result is preferably also, and can reach 73.3% accuracy rate and 92.6% recall rate respectively.To in addition several projects For, recall rate performance is all good, and wherein java.security.* can reach more than 80%.
Above example technological thought only to illustrate the invention is it is impossible to limit protection scope of the present invention with this, every According to technological thought proposed by the present invention, any change done on the basis of technical scheme, each fall within the scope of the present invention Within.

Claims (10)

1. a kind of java api program exception and the inconsistent automatic testing method of description of document are it is characterised in that include following walking Rapid:
(1) extract the execution code section of each method and annotation documentation section in source code, be analyzed respectively;
(2) travel through all methods of present analysis target, extract throw exception type and its trigger condition of each method, and build Call relation storehouse between vertical purpose project source code each method;
(3) analysis purpose project passes through the data extracting in step (2) again, for each method, analyzes current first Exception-triggered condition, the exception-triggered condition then according to call relation, in recursive analysis call method;
(4) for each method in purpose project, analyze it using heuristic and annotate document;
(5) for each method in purpose project, extract in the abnormal information extracting in step (3) and step (4) Document description information compare, and then detect both inconsistent problems.
2. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (1), annotation document refers to each java api method corresponding javadoc annotation annotation Document, this is a kind of document with half structure feature.
3. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (1), execution code refers to execute the program code of api function.
4. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (2), throw exception type refers to the affiliated type of exception object being spilled in throw sentence, sentence Formula is
thrownewexception(description)
Wherein, exception refers to the type of all throw exceptions, and description refers to carrying during throw exception in code Show information.
5. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 4, its Be characterised by: in described step (3), exception-triggered condition refer to code go to throw exception throw sentence when the setting of parameter Put condition, therefore the parameter of at least one current method in this condition, must be had to participate in.
6. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (2), call relation Cooley open source technology, there is direct parameter transmission between acquisition methods existing The call relation of elephant.
7. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 6, its Be characterised by: the described call relation that there is direct parameter transport phenomenon refers to, certain method using certain parameter of oneself as Parameter passes to another method that it calls, then claim between this two methods be a kind of exist direct parameter transmission call pass System.
8. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (3), the concrete steps of recursive analysis also include, depth threshold, every layer method are called in setting in advance Refresh the trigger condition of abnormal information and be related to parameter information.
9. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 1, its It is characterised by: in described step (4), heuristic refers to for certain abnormal information, checks specific in annotation document one by one Entry, for involved parameter in current abnormal condition, checks whether these document entry describe all parameter names Completely, thus judging whether current exception is described in document.
10. the inconsistent automatic testing method of description of a kind of java api program exception and document as claimed in claim 9, its It is characterised by: if described heuristic is based on such it is assumed that being that document is described to a certain constraints, should Description is correct.
CN201610662289.2A 2016-08-12 2016-08-12 A kind of abnormal inconsistent automatic testing method of description with document of Java api routines Active CN106339313B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610662289.2A CN106339313B (en) 2016-08-12 2016-08-12 A kind of abnormal inconsistent automatic testing method of description with document of Java api routines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610662289.2A CN106339313B (en) 2016-08-12 2016-08-12 A kind of abnormal inconsistent automatic testing method of description with document of Java api routines

Publications (2)

Publication Number Publication Date
CN106339313A true CN106339313A (en) 2017-01-18
CN106339313B CN106339313B (en) 2018-10-12

Family

ID=57825008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610662289.2A Active CN106339313B (en) 2016-08-12 2016-08-12 A kind of abnormal inconsistent automatic testing method of description with document of Java api routines

Country Status (1)

Country Link
CN (1) CN106339313B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021390A (en) * 2017-10-24 2018-05-11 南京航空航天大学 A kind of document defect self-repairing method of Java Application Programming Interface
CN108763057A (en) * 2018-04-20 2018-11-06 北京五八信息技术有限公司 A kind of thread detection method, device, equipment and computer readable storage medium
CN109344061A (en) * 2018-09-25 2019-02-15 阿里巴巴集团控股有限公司 A kind of method for detecting abnormality of interface, device, equipment and system
CN110928546A (en) * 2018-09-20 2020-03-27 西门子股份公司 Method, apparatus, electronic device, medium, and program for determining existence of dependency violations
CN111694570A (en) * 2019-03-13 2020-09-22 南京大学 JavaScript function parameter mismatching detection method based on static program analysis

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (en) * 2007-03-02 2007-08-15 北京邮电大学 Software safety code analyzer based on static analysis of source code and testing method therefor
CN102129365A (en) * 2010-01-20 2011-07-20 阿里巴巴集团控股有限公司 Method and device for generating code documentations
CN103279421A (en) * 2013-06-14 2013-09-04 武汉大学 Program exception propagation model construction method based on data provenance technology
CN102521117B (en) * 2011-10-27 2014-03-19 北京航空航天大学 Java exception propagation static structure extraction method
JP5669707B2 (en) * 2011-09-30 2015-02-12 Kddi株式会社 Similar document search device
CN104461866A (en) * 2014-11-04 2015-03-25 中国广核电力股份有限公司 Method and system for detecting abnormal version of software object
US9317596B2 (en) * 2014-04-03 2016-04-19 GM Global Technology Operations LLC Function-based method for classifying and fusing system behavior information in product development

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (en) * 2007-03-02 2007-08-15 北京邮电大学 Software safety code analyzer based on static analysis of source code and testing method therefor
CN102129365A (en) * 2010-01-20 2011-07-20 阿里巴巴集团控股有限公司 Method and device for generating code documentations
JP5669707B2 (en) * 2011-09-30 2015-02-12 Kddi株式会社 Similar document search device
CN102521117B (en) * 2011-10-27 2014-03-19 北京航空航天大学 Java exception propagation static structure extraction method
CN103279421A (en) * 2013-06-14 2013-09-04 武汉大学 Program exception propagation model construction method based on data provenance technology
US9317596B2 (en) * 2014-04-03 2016-04-19 GM Global Technology Operations LLC Function-based method for classifying and fusing system behavior information in product development
CN104461866A (en) * 2014-11-04 2015-03-25 中国广核电力股份有限公司 Method and system for detecting abnormal version of software object

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ENDRIKAT S,HANENBERG S: "How do API documentation and static typing affect API usability?", 《PROC OF THE 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING》 *
SAIED M A,SAHRAOUI H: "An observational study on API usage constraints and their documentation", 《PROC OF IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS,EVOLUTION AND REENGINEERING》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021390A (en) * 2017-10-24 2018-05-11 南京航空航天大学 A kind of document defect self-repairing method of Java Application Programming Interface
CN108763057A (en) * 2018-04-20 2018-11-06 北京五八信息技术有限公司 A kind of thread detection method, device, equipment and computer readable storage medium
CN110928546A (en) * 2018-09-20 2020-03-27 西门子股份公司 Method, apparatus, electronic device, medium, and program for determining existence of dependency violations
CN109344061A (en) * 2018-09-25 2019-02-15 阿里巴巴集团控股有限公司 A kind of method for detecting abnormality of interface, device, equipment and system
CN111694570A (en) * 2019-03-13 2020-09-22 南京大学 JavaScript function parameter mismatching detection method based on static program analysis

Also Published As

Publication number Publication date
CN106339313B (en) 2018-10-12

Similar Documents

Publication Publication Date Title
Silva et al. Refdiff: detecting refactorings in version histories
CN106339313A (en) Method for automatically detecting inconsistency of Java API program exception and document description
Kagdi et al. Blending conceptual and evolutionary couplings to support change impact analysis in source code
Ray et al. The uniqueness of changes: Characteristics and applications
Huang et al. Mining version control system for automatically generating commit comment
US9613074B2 (en) Data generation for performance evaluation
US8312440B2 (en) Method, computer program product, and hardware product for providing program individuality analysis for source code programs
Davies et al. Comparing text‐based and dependence‐based approaches for determining the origins of bugs
Nguyen et al. Filtering noise in mixed-purpose fixing commits to improve defect prediction and localization
Liu et al. Automatic detection of outdated comments during code changes
Maffort et al. Mining architectural violations from version history
Niere et al. Handling large search space in pattern-based reverse engineering
Farmahinifarahani et al. On precision of code clone detection tools
CN108021390A (en) A kind of document defect self-repairing method of Java Application Programming Interface
Maffort et al. Heuristics for discovering architectural violations
Kim et al. Adding examples into java documents
Jiang et al. Tracing back the history of commits in low-tech reviewing environments: a case study of the linux kernel
Van Den Brink et al. Quality assessment for embedded SQL
CN111241497A (en) Open source code tracing detection method based on software multiplexing feature learning
CN102681932B (en) Method for detecting processing correctness of software on abnormal input
CN105930267A (en) Database dictionary based storage process static detection method and system
Rathee et al. Restructuring of object-oriented software through cohesion improvement using frequent usage patterns
CN102103539A (en) Z-specification-based test case generating method
CN115438341A (en) Method and device for extracting code loop counter, storage medium and electronic equipment
US20230075290A1 (en) Method for linking a cve with at least one synthetic cpe

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170118

Assignee: Jiangsu Fenghuang Intelligent Education Research Institute Co.,Ltd.

Assignor: Nanjing University of Aeronautics and Astronautics

Contract record no.: X2020980003896

Denomination of invention: Method for automatically detecting inconsistency of Java API program exception and document description

Granted publication date: 20181012

License type: Common License

Record date: 20200708

EE01 Entry into force of recordation of patent licensing contract