Program: 76767
Project: 76767
Buggy source:
/** 
 * Sets performance preferences for this socket. <p> Sockets use the TCP/IP protocol by default.  Some implementations may offer alternative protocols which have different performance characteristics than TCP/IP.  This method allows the application to express its own preferences as to how these tradeoffs should be made when the implementation chooses from the available protocols. <p> Performance preferences are described by three integers whose values indicate the relative importance of short connection time, low latency, and high bandwidth.  The absolute values of the integers are irrelevant; in order to choose a protocol the values are simply compared, with larger values indicating stronger preferences. Negative values represent a lower priority than positive values. If the application prefers short connection time over both low latency and high bandwidth, for example, then it could invoke this method with the values  {@code (1, 0, 0)}.  If the application prefers high bandwidth above low latency, and low latency above short connection time, then it could invoke this method with the values   {@code (0, 1, 2)}. By default, this method does nothing, unless it is overridden in a a sub-class.
 * @param connectionTime An  {@code int} expressing the relative importance of a shortconnection time
 * @param latency An  {@code int} expressing the relative importance of lowlatency
 * @param bandwidth An  {@code int} expressing the relative importance of highbandwidth
 * @since 1.5
 */
protected void setPerformancePreferences(int connectionTime,int latency,int bandwidth){
}

Fixed version (ground truth):
/** 
 * Sets performance preferences for this socket. <p> Sockets use the TCP/IP protocol by default.  Some implementations may offer alternative protocols which have different performance characteristics than TCP/IP.  This method allows the application to express its own preferences as to how these tradeoffs should be made when the implementation chooses from the available protocols. <p> Performance preferences are described by three integers whose values indicate the relative importance of short connection time, low latency, and high bandwidth.  The absolute values of the integers are irrelevant; in order to choose a protocol the values are simply compared, with larger values indicating stronger preferences. Negative values represent a lower priority than positive values. If the application prefers short connection time over both low latency and high bandwidth, for example, then it could invoke this method with the values  {@code (1, 0, 0)}.  If the application prefers high bandwidth above low latency, and low latency above short connection time, then it could invoke this method with the values   {@code (0, 1, 2)}. By default, this method does nothing, unless it is overridden in a sub-class.
 * @param connectionTime An  {@code int} expressing the relative importance of a shortconnection time
 * @param latency An  {@code int} expressing the relative importance of lowlatency
 * @param bandwidth An  {@code int} expressing the relative importance of highbandwidth
 * @since 1.5
 */
protected void setPerformancePreferences(int connectionTime,int latency,int bandwidth){
}