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)

Reply via email to