Mozhan Soltani created LANG-1409:
------------------------------------
Summary: Crashes when testing StringUtils and CharSequenceUtils
Key: LANG-1409
URL: https://issues.apache.org/jira/browse/LANG-1409
Project: Commons Lang
Issue Type: Bug
Components: lang.*
Affects Versions: 3.7
Environment: Ubuntu 16.04.4 LTS, and McOs High Sierra-10.13.5
Junit-4.12
Reporter: Mozhan Soltani
Attachments: CharSequenceUtilsTests.java, StringUtilsTests.java
The attached test suites for {{org.apache.commons.lang3.StringUtils.java}} and
{{org.apache.commons.lang3.CharSequenceUtils.java}} come from a prototype I
have been working on which combines static analysis and automated test
generation.
The prototype analyses a specified dependency of a project to identify risky
API calls which may potentially lead to runtime exceptions. Runtime exceptions
may occur either because
# an API lacks sufficient documentation,or
# usage of the API does not conform to the specification, or
# API wrapper does not indicate the API specification as part of its own
specification.
The prototype then automatically generates test cases which show how such
exceptions may be triggered.
*Observation:*
For {{commons-lang}}, {{JDK APIs}} were analyzed. It seems that the failing
methods do not handle the potential runtime exceptions which may or may not
have been declared/documented for the JDK APIs they invoke.
*Possible fixes:*
# The failing methods under test could add internal checks on the values they
forward to the {{JDK APIs}}.
# The failing methods could handle the exceptions by adding relevant try/catch
blocks.
# The failing methods under test could specify the potential exceptions by
adding {{@throws}} in their documentation/method signatures.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)