himanshu singh - Academia.edu (original) (raw)

Uploads

Papers by himanshu singh

Research paper thumbnail of Continual monitoring of code quality

CQMM (Code Quality Monitoring Method) is a means for systematically monitoring and improving code... more CQMM (Code Quality Monitoring Method) is a means for systematically monitoring and improving code level quality of a system during development. It employs goal directed monitoring using quality models and static code analysis tools. In this paper, we present the CQMM method, learnings gathered through pilot studies, and changes needed for its large scale adoption within our organization. This exercise was an important step towards evolving an organization wide common minimum baseline for code-centric quality. Initial results indicate that the process helps in exposing important code-centric issues, besides sensitizing developers to coding practices. We also demonstrate the usefulness of the approach by tracking code level issues on select open source projects.

Research paper thumbnail of A method for proactive moderation of code clones in IDEs

Duplicating code and modifying it is a useful convenience when editing within an IDE. This sequen... more Duplicating code and modifying it is a useful convenience when editing within an IDE. This sequence of operations, termed copy-paste-modify, has the downside of proliferating “nearly identical” code segments or code clones and could lead to rapid degeneration of code. Although techniques for proactive identification of clones and differences between them have been studied, no clear method to control clone formation, based on “acceptability criteria,” is known. In this paper, we present a technique to moderate the genesis of clones through copy-paste-modify operations. Our approach is guided by associating constraints formulated from predefined guidelines, and checking for their satisfaction at the time of copy and upon modification. By encoding “acceptability criteria” as constraints, our approach provides the means necessary for controlled creation of clones.

Research paper thumbnail of Distributed Port Scanning Detection

Conventional Network Intrusion Detection System (NIDS) have heavyweight processing and memory req... more Conventional Network Intrusion Detection System (NIDS) have heavyweight processing and memory requirements as they maintain per ow state using data structures like linked lists or trees. This is required for some specialized jobs such as Stateful Packet Inspection (SPI) where the network communications between entities are recreated in its entirety to inspect application level data. The downside to this approach is that the NIDS must be in a position to view all inbound and outbound trac of the protected network. The NIDS can be overwhelmed by a DDoS attack since most of these try and exhaust the available state of network entities. For some applications like port scan detection, we do not require to reconstruct the complete network trac. We propose to integrate a detector into all routers so that a more distributed detection approach can be achieved. Since routers are devices with limited memory and processing capabilities, conventional NIDS approaches do not work while integrating a detector in them. We describe a method to detect port scans using aggregation. A data structure called a Partial Completion Filter(PCF) or a counting Bloom lter is used to reduce the per ow state.

Research paper thumbnail of Distributed Port Scan Detection

Conventional network intrusion detection systems (NIDS) have heavyweight processing and memory re... more Conventional network intrusion detection systems (NIDS) have heavyweight processing and memory requirements as they maintain per flow state using data structures such as linked lists or trees. This is required for some specialized jobs such as stateful packet inspection (SPI) where the network communications between entities are recreated in their entirety to inspect application-level data. The downside to this approach is that the NIDS must be in a position to view all inbound and outbound traffic of the protected network. The NIDS can be overwhelmed by a distributed denial of service attack since most such attacks try and exhaust the available state of network entities. For some applications, such as port scan detection, we do not need to reconstruct the complete network traffic. We propose integrating a detector into all routers so that a more distributed detection approach can be achieved. Since routers are devices with limited memory and processing capabilities, conventional NIDS approaches do not workwhile integrating a detector in them. We describe a method to detect port scans using aggregation. A data structure called a partial completion filter (PCF) or a counting Bloom filter is used to reduce the per flow state.

Research paper thumbnail of Continual monitoring of code quality

CQMM (Code Quality Monitoring Method) is a means for systematically monitoring and improving code... more CQMM (Code Quality Monitoring Method) is a means for systematically monitoring and improving code level quality of a system during development. It employs goal directed monitoring using quality models and static code analysis tools. In this paper, we present the CQMM method, learnings gathered through pilot studies, and changes needed for its large scale adoption within our organization. This exercise was an important step towards evolving an organization wide common minimum baseline for code-centric quality. Initial results indicate that the process helps in exposing important code-centric issues, besides sensitizing developers to coding practices. We also demonstrate the usefulness of the approach by tracking code level issues on select open source projects.

Research paper thumbnail of A method for proactive moderation of code clones in IDEs

Duplicating code and modifying it is a useful convenience when editing within an IDE. This sequen... more Duplicating code and modifying it is a useful convenience when editing within an IDE. This sequence of operations, termed copy-paste-modify, has the downside of proliferating “nearly identical” code segments or code clones and could lead to rapid degeneration of code. Although techniques for proactive identification of clones and differences between them have been studied, no clear method to control clone formation, based on “acceptability criteria,” is known. In this paper, we present a technique to moderate the genesis of clones through copy-paste-modify operations. Our approach is guided by associating constraints formulated from predefined guidelines, and checking for their satisfaction at the time of copy and upon modification. By encoding “acceptability criteria” as constraints, our approach provides the means necessary for controlled creation of clones.

Research paper thumbnail of Distributed Port Scanning Detection

Conventional Network Intrusion Detection System (NIDS) have heavyweight processing and memory req... more Conventional Network Intrusion Detection System (NIDS) have heavyweight processing and memory requirements as they maintain per ow state using data structures like linked lists or trees. This is required for some specialized jobs such as Stateful Packet Inspection (SPI) where the network communications between entities are recreated in its entirety to inspect application level data. The downside to this approach is that the NIDS must be in a position to view all inbound and outbound trac of the protected network. The NIDS can be overwhelmed by a DDoS attack since most of these try and exhaust the available state of network entities. For some applications like port scan detection, we do not require to reconstruct the complete network trac. We propose to integrate a detector into all routers so that a more distributed detection approach can be achieved. Since routers are devices with limited memory and processing capabilities, conventional NIDS approaches do not work while integrating a detector in them. We describe a method to detect port scans using aggregation. A data structure called a Partial Completion Filter(PCF) or a counting Bloom lter is used to reduce the per ow state.

Research paper thumbnail of Distributed Port Scan Detection

Conventional network intrusion detection systems (NIDS) have heavyweight processing and memory re... more Conventional network intrusion detection systems (NIDS) have heavyweight processing and memory requirements as they maintain per flow state using data structures such as linked lists or trees. This is required for some specialized jobs such as stateful packet inspection (SPI) where the network communications between entities are recreated in their entirety to inspect application-level data. The downside to this approach is that the NIDS must be in a position to view all inbound and outbound traffic of the protected network. The NIDS can be overwhelmed by a distributed denial of service attack since most such attacks try and exhaust the available state of network entities. For some applications, such as port scan detection, we do not need to reconstruct the complete network traffic. We propose integrating a detector into all routers so that a more distributed detection approach can be achieved. Since routers are devices with limited memory and processing capabilities, conventional NIDS approaches do not workwhile integrating a detector in them. We describe a method to detect port scans using aggregation. A data structure called a partial completion filter (PCF) or a counting Bloom filter is used to reduce the per flow state.

Log In