Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Hee Beng Kuan Tan is active.

Publication


Featured researches published by Hee Beng Kuan Tan.


Journal of Systems and Software | 2010

Measuring design complexity of semantic web ontologies

Hongyu Zhang; Yuan-Fang Li; Hee Beng Kuan Tan

Ontology languages such as OWL are being widely used as the Semantic Web movement gains momentum. With the proliferation of the Semantic Web, more and more large-scale ontologies are being developed in real-world applications to represent and integrate knowledge and data. There is an increasing need for measuring the complexity of these ontologies in order for people to better understand, maintain, reuse and integrate them. In this paper, inspired by the concept of software metrics, we propose a suite of ontology metrics, at both the ontology-level and class-level, to measure the design complexity of ontologies. The proposed metrics are analytically evaluated against Weyukers criteria. We have also performed empirical analysis on public domain ontologies to show the characteristics and usefulness of the metrics. We point out possible applications of the proposed metrics to ontology quality control. We believe that the proposed metric suite is useful for managing ontology development projects.


IEEE Computer | 2012

Detection of Mobile Malware in the Wild

Mahinthan Chandramohan; Hee Beng Kuan Tan

New techniques for detecting the presence of mobile malware can help protect smartphones from potential security threats.


international conference on software engineering | 2013

Mining SQL injection and cross site scripting vulnerabilities using hybrid program analysis

Lwin Khin Shar; Hee Beng Kuan Tan; Lionel C. Briand

In previous work, we proposed a set of static attributes that characterize input validation and input sanitization code patterns. We showed that some of the proposed static attributes are significant predictors of SQL injection and cross site scripting vulnerabilities. Static attributes have the advantage of reflecting general properties of a program. Yet, dynamic attributes collected from execution traces may reflect more specific code characteristics that are complementary to static attributes. Hence, to improve our initial work, in this paper, we propose the use of dynamic attributes to complement static attributes in vulnerability prediction. Furthermore, since existing work relies on supervised learning, it is dependent on the availability of training data labeled with known vulnerabilities. This paper presents prediction models that are based on both classification and clustering in order to predict vulnerabilities, working in the presence or absence of labeled training data, respectively. In our experiments across six applications, our new supervised vulnerability predictors based on hybrid (static and dynamic) attributes achieved, on average, 90% recall and 85% precision, that is a sharp increase in recall when compared to static analysis-based predictions. Though not nearly as accurate, our unsupervised predictors based on clustering achieved, on average, 76% recall and 39% precision, thus suggesting they can be useful in the absence of labeled training data.


Information & Software Technology | 2012

Automated removal of cross site scripting vulnerabilities in web applications

Lwin Khin Shar; Hee Beng Kuan Tan

Context: Cross site scripting (XSS) vulnerability is among the top web application vulnerabilities according to recent surveys. This vulnerability occurs when a web application uses inputs received from users in web pages without properly checking them. This allows an attacker to inject malicious scripts in web pages via such inputs such that the scripts perform malicious actions when a client visits the exploited web pages. Such an attack may cause serious security violations such as account hijacking and cookie theft. Current approaches to mitigate this problem mainly focus on effective detection of XSS vulnerabilities in the programs or prevention of real time XSS attacks. As more sophisticated attack vectors are being discovered, vulnerabilities if not removed could be exploited anytime. Objective: To address this issue, this paper presents an approach for removing XSS vulnerabilities in web applications. Method: Based on static analysis and pattern matching techniques, our approach identifies potential XSS vulnerabilities in program source code and secures them with appropriate escaping mechanisms which prevent input values from causing any script execution. Results: We developed a tool, saferXSS, to implement the proposed approach. Using the tool, we evaluated the applicability and effectiveness of the proposed approach based on the experiments on five Java-based web applications. Conclusion: Our evaluation has shown that the tool can be applied to real-world web applications and it automatically removed all the real XSS vulnerabilities in the test subjects.


Information & Software Technology | 2008

Heuristics-based infeasible path detection for dynamic test data generation

Minh Ngoc Ngo; Hee Beng Kuan Tan

Automated test data generation plays an important part in reducing the cost and increasing the reliability of software testing. However, a challenging problem in path-oriented test data generation is the existence of infeasible program paths, where considerable effort may be wasted in trying to generate input data to traverse the paths. In this paper, we propose a heuristics-based approach to infeasible path detection for dynamic test data generation. Our approach is based on the observation that many infeasible program paths exhibit some common properties. Through realizing these properties in execution traces collected during the test data generation process, infeasible paths can be detected early with high accuracy. Our experiments show that the proposed approach efficiently detects most of the infeasible paths with an average precision of 96.02% and a recall of 100% of all the cases.


foundations of software engineering | 2007

Detecting large number of infeasible paths through recognizing their patterns

Minh Ngoc Ngo; Hee Beng Kuan Tan

A great majority of program paths are found to be infeasible, which in turn make static analysis overly conservative. As static analysis plays a central part in many software engineering activities, knowledge about infeasible program paths can be used to greatly improve the performance of these activities especially structural testing and coverage analysis. In this paper, we present an empirical approach to the problem of infeasible path detection. We have discovered that many infeasible paths exhibit some common properties which are caused by four code patterns including identical/complement-decision, mutually-exclusive-decision, check-then-do and looping-by-flag pattern. Through realizing these properties from source code, many infeasible paths can be precisely detected. Binomial tests have been conducted which give strong statistical evidences to support the validity of the empirical properties. Our experimental results show that even with some limitations in the current prototype tool, the proposed approach accurately detects 82.3% of all the infeasible paths.


Journal of Systems and Software | 2008

Testing input validation in Web applications through automated model recovery

Hui Liu; Hee Beng Kuan Tan

Input validation is essential and critical in Web applications. It is the enforcement of constraints that any input must satisfy before it is accepted to raise external effects. We have discovered some empirical properties for characterizing input validation in Web applications. In this paper, we propose an approach for automated recovery of input validation model from program source code. The model recovered is represented in a variant of control flow graph, called validation flow graph, which shows essential input validation features implemented in programs. Based on the model, we then formulate two coverage criteria for testing input validation. The two criteria can be used to guide the structural testing of input validation in Web applications. We have evaluated the proposed approach through case studies and experiments.


international conference on software engineering | 2012

Mining input sanitization patterns for predicting SQL injection and cross site scripting vulnerabilities

Lwin Khin Shar; Hee Beng Kuan Tan

Static code attributes such as lines of code and cyclomatic complexity have been shown to be useful indicators of defects in software modules. As web applications adopt input sanitization routines to prevent web security risks, static code attributes that represent the characteristics of these routines may be useful for predicting web application vulnerabilities. In this paper, we classify various input sanitization methods into different types and propose a set of static code attributes that represent these types. Then we use data mining methods to predict SQL injection and cross site scripting vulnerabilities in web applications. Preliminary experiments show that our proposed attributes are important indicators of such vulnerabilities.


Information & Software Technology | 2009

Covering code behavior on input validation in functional testing

Hui Liu; Hee Beng Kuan Tan

Input validation is the enforcement built in software systems to ensure that only valid input is accepted to raise external effects. It is essential and very important to a large class of systems and usually forms a major part of a data-intensive system. Most existing methods for input validation testing are specification-based. However, to test input validation more accurately, a code-based method is also required. In this paper, we propose an approach to extract path partition and input conditions from code for testing input validation. The path partition can be used to design white-box test cases for testing input validation. It can also be used to measure the coverage of input validation testing. The valid and invalid input conditions recovered can be used to check against the specifications and aid the test suite design in black-box testing. We have also evaluated the proposed method through experimental study.


IEEE Computer | 2013

Defeating SQL Injection

Lwin Khin Shar; Hee Beng Kuan Tan

The best strategy for combating SQL injection, which has emerged as the most widespread website security risk, calls for integrating defensive coding practices with both vulnerability detection and runtime attack prevention methods.

Collaboration


Dive into the Hee Beng Kuan Tan's collaboration.

Top Co-Authors

Avatar

Lwin Khin Shar

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Kaiping Liu

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Hongyu Zhang

University of Newcastle

View shared research outputs
Top Co-Authors

Avatar

Bindu Madhavi Padmanabhuni

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Minh Ngoc Ngo

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Sun Ding

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Mahinthan Chandramohan

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Hui Liu

Nanyang Technological University

View shared research outputs
Top Co-Authors

Avatar

Xu Chen

Chinese Academy of Sciences

View shared research outputs
Top Co-Authors

Avatar

Ni Lar Thein

Nanyang Technological University

View shared research outputs
Researchain Logo
Decentralizing Knowledge