在Java方法中,轻量级精确自动提取异常先决条件
Diego Marcilio1, Carlo A Furia1
1Software Institute, USI Università della Svizzera italiana, Lugano, Switzerland.
概括
本研究介绍了Wit,一个自动化工具,可以提取Java的异常前提条件. 它准确地记录了特殊的行为,改进了软件开发实践.
科学领域:
- 软件工程 软件工程 软件工程
- 程序分析 程序分析
- 自动化软件工程 自动化软件工程
背景情况:
- 异常先决条件对于正确的方法使用至关重要,但通常文档不够完善.
- 手动记录异常行为是耗时的,并且容易出现代码更改时的同步问题.
研究的目的:
- 开发一种自动化技术 (wit) 来提取Java方法和构造函数的异常先决条件.
- 为记录特殊行为提供精确和轻量级的分析.
主要方法:
- 使用静态分析来检查导致Java方法中的异常的执行路径.
- 使用启发式来平衡精度和完整性,只需要源代码进行分析.
主要成果:
- 在JDK和46个Java项目的24461个方法中发现了30487个异常先决条件.
- 每个公开方法的平均分析时间不到2秒.
- 手动验证证实,提取的例外前提条件的准确性为100%.
结论:
- 智能工具准确有效地记录了Java方法的特殊行为.
- 自动提取异常先决条件可以提高软件的可靠性和维护性.
相关概念视频
Precipitation and Co-precipitation
1.8K
Precipitation and coprecipitation methods can be used to separate a mixture of ions in a solution. In qualitative inorganic analysis, ions that form sparingly soluble precipitates with the same reagent are separated based on the differences in solubility products. For example, consider the separation of Cu(II) and Fe(II) ions by precipitation as insoluble sulfides. First, copper(II) sulfide is precipitated by the addition of acidic H2S, where the dissociation of H2S is suppressed. Adding H2S...
1.8K
Washing, Drying, and Ignition of Precipitates
918
After filtration, the precipitate is washed to remove coprecipitated impurities and any remaining mother liquor. Colloidal precipitates, such as silver chloride, are washed with an electrolyte (such as dilute nitric acid) to prevent the peptization of the precipitate. In the case of slightly soluble precipitates, the wash solution contains a common ion to reduce solubility. Lead sulfate, which is slightly soluble in water, is washed with dilute sulfuric acid. Similarly, wash solutions may be...
918
Quantifying and Rejecting Outliers: The Grubbs Test
1.6K
Sometimes, a data set can have a recorded numerical observation that greatly deviates from the rest of the data. Assuming that the data is normally distributed, a statistical method called the Grubbs test can be used to determine whether the observation is truly an outlier. To perform a two-tailed Grubbs test, first, calculate the absolute difference between the outlier and the mean. Then, calculate the ratio between this difference and the standard deviation of the sample. This...
1.6K
Detection of Gross Error: The Q Test
6.1K
When one or more data points appear far from the rest of the data, there is a need to determine whether they are outliers and whether they should be eliminated from the data set to ensure an accurate representation of the measured value. In many cases, outliers arise from gross errors (or human errors) and do not accurately reflect the underlying phenomenon. In some cases, however, these apparent outliers reflect true phenomenological differences. In these cases, we can use statistical methods...
6.1K
Systematic Error: Methodological and Sampling Errors
1.5K
In the case of systematic errors, the sources can be identified, and the errors can be subsequently minimized by addressing these sources. According to the source, systematic errors can be divided into sampling, instrumental, methodological, and personal errors.
Sampling errors originate from improper sampling methods or the wrong sample population. These errors can be minimized by refining the sampling strategy. Defective instruments or faulty calibrations are the sources of instrumental...
Sampling errors originate from improper sampling methods or the wrong sample population. These errors can be minimized by refining the sampling strategy. Defective instruments or faulty calibrations are the sources of instrumental...
1.5K
Data Validation
164
Method validation is a crucial process in analytical chemistry designed to confirm that a given method consistently produces reliable and high-quality results. This process is essential when a method is applied to different sample matrices or when procedural modifications are made, ensuring that the results meet acceptable standards across various applications.
Key parameters for method validation include:
Key parameters for method validation include:
164


