Uploaded image for project: 'Commons Lang'
  1. Commons Lang
  2. LANG-1409

Crashes when testing StringUtils and CharSequenceUtils

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.7
    • None
    • lang.*
    • Ubuntu 16.04.4 LTS, and McOs High Sierra-10.13.5
      Junit-4.12

    Description

      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

      1. an API lacks sufficient documentation,or
      2. usage of the API does not conform to the specification, or
      3. 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-langJDK 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:

      1. The failing methods under test could add internal checks on the values they forward to the JDK APIs.
      2. The failing methods could handle the exceptions by adding relevant try/catch blocks.
      3. The failing methods under test could specify the potential exceptions by adding @throws in their documentation/method signatures.

      Attachments

        1. StringUtilsTests.java
          2 kB
          Mozhan Soltani
        2. CharSequenceUtilsTests.java
          1 kB
          Mozhan Soltani

        Issue Links

          Activity

            People

              Unassigned Unassigned
              Mozhan Mozhan Soltani
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m