The Experts below are selected from a list of 303 Experts worldwide ranked by ideXlab platform

Siau-cheng Khoo - One of the best experts on this subject based on the ideXlab platform.

  • mining iterative generators and representative rules for Software Specification discovery
    IEEE Transactions on Knowledge and Data Engineering, 2011
    Co-Authors: Iimsoon Wong, Siau-cheng Khoo
    Abstract:

    Billions of dollars are spent annually on Software-related cost. It is estimated that up to 45 percent of Software cost is due to the difficulty in understanding existing systems when performing maintenance tasks (i.e., adding features, removing bugs, etc.). One of the root causes is that Software products often come with poor, incomplete, or even without any documented Specifications. In an effort to improve program understanding, Lo et al. have proposed iterative pattern mining which outputs patterns that are repeated frequently within a program trace, or across multiple traces, or both. Frequent iterative patterns reflect frequent program behaviors that likely correspond to Software Specifications. To reduce the number of patterns and improve the efficiency of the algorithm, Lo et al. have also introduced mining closed iterative patterns, i.e., maximal patterns without any superpattern having the same support. In this paper, to technically deepen research on iterative pattern mining, we introduce mining iterative generators, i.e., minimal patterns without any subpattern having the same support. Iterative generators can be paired with closed patterns to produce a set of rules expressing forward, backward, and in-between temporal constraints among events in one general representation. We refer to these rules as representative rules. A comprehensive performance study shows the efficiency of our approach. A case study on traces of an industrial system shows how iterative generators and closed iterative patterns can be merged to form useful rules shedding light on Software design.

  • Mining patterns and rules for Software Specification discovery
    Proceedings of the VLDB Endowment, 2008
    Co-Authors: Siau-cheng Khoo
    Abstract:

    Software Specifications are often lacking, incomplete and outdated in the industry. Lack and incomplete Specifications cause various Software engineering problems. Studies have shown that program comprehension takes up to 45% of Software development costs. One of the root causes of the high cost is the lack-of documented Specification. Also, outdated and incomplete Specification might potentially cause bugs and compatibility issues. In this paper, we describe novel data mining techniques to mine or reverse engineer these Specifications from the pool of Software engineering data. A large amount of Software data is available for analysis. One form of Software data is program execution traces. A program trace can be viewed as a sequence of events collected when a program is run. A set of program traces in turn can be viewed as a sequence database. In this paper, we present some novel work in mining Software Specifications by employing novel pattern mining and rule mining techniques. Performance studies show the scalability of our technique. Case studies on traces of a real industrial application show the utility of our technique in recovering program Specifications from execution traces.

  • efficient mining of iterative patterns for Software Specification discovery
    Knowledge Discovery and Data Mining, 2007
    Co-Authors: Siau-cheng Khoo, Chao Liu
    Abstract:

    Studies have shown that program comprehension takes up to 45% of Software development costs. Such high costs are caused by the lack-of documented Specification and further aggravated by the phenomenon of Software evolution. There is a need for automated tools to extract Specifications to aid program comprehension. In this paper, a novel technique to efficiently mine common Software temporal patterns from traces is proposed. These patterns shed light on program behaviors, and are termed iterative patterns. They capture unique characteristic of Software traces, typically not found in arbitrary sequences. Specifically, due to loops, interesting iterative patterns can occur multiple times within a trace. Furthermore, an occurrence of an iterative pattern in a trace can extend across a sequence of indefinite length. Since a program behavior can be manifested in numerous ways, analyzing a single trace will not be sufficient. Iterative pattern mining extends sequential pattern and episode minings to discover frequent iterative patterns which occur repetitively both within a program trace and across multiple traces. In this paper, we present CLIPER (CLosed Iterative Pattern minER) to efficiently mine a closed set of iterative patterns. A performance study on several simulated and real datasets shows the efficiency of our mining algorithm and effectiveness of our pruning strategy. Our case study on JBoss Application Server confirms the usefulness of mined patterns in discovering interesting Software behavioral Specification.

Antony Selvadoss Thanamani - One of the best experts on this subject based on the ideXlab platform.

  • APRIORI BASED APPROACH for Software Specification MINING
    2009
    Co-Authors: R. Jeevarathinam, Antony Selvadoss Thanamani
    Abstract:

    Software is often built without specificatioon. Specification mining is a machine learning approach for discovering formal Specifications of the protocols that code must obey when interacting with an application program interface or abstract data type. There has been much work on reverse engineering or mining Software Specifications using dynamic analysis techniques; i.e., analysis of Software program traces. Mining Software Specifications is a task of finding the full set of Specifications that satisfy a minimum support in a Specification database. Studies have shown that program comprehension takes up to 45% of Software development costs. These high costs are caused by the lack of documented Specification and further aggravated by the phenomenon of Software evolution. Lack of documented Software Specifications also causes difficulty in testing or verifying the correctness of a Software system. So, there is a need to extract Specifications to aid program comprehension. In this paper a novel technique to efficiently mine Software Specifications, called TraceMiner is proposed which mines Software Specifications from program execution traces. A case study on CVS protocol on Jakarta's Commons Net confirms the usefulness of mined traces.

  • An Implementation of FP-Growth Algorithm for Software Specification Mining
    Data mining and knowledge engineering, 2009
    Co-Authors: R. Jeevarathinam, Antony Selvadoss Thanamani
    Abstract:

    Specification mining is a machine learning approach for discovering formal Specifications of the protocols that code must obey when interacting with an application program interface or abstract data type. Two major concerns in engineering Software systems are high maintenance costs and reliability of systems. To reduce maintenance efforts, there is a need for automated tools to help Software developers understand their existing code base. So, there is a need to extract Specifications to aid program comprehension. In this paper a novel technique to efficiently mine Software Specifications, called FP_TraceMiner is proposed which mines Software Specifications from program execution traces. The FP-growth algorithm is currently one of the fastest approaches. To address the limitations of Apriori-like methods, a mining paradigm has been proposed, which uses FP-growth algorithm which transforms a database into FP-tree stored in main memory and then performs mining on that optimized FP-tree structure.

Roel Wieringa - One of the best experts on this subject based on the ideXlab platform.

  • A survey of structured and object-oriented Software Specification methods and techniques
    ACM Computing Surveys, 1998
    Co-Authors: Roel Wieringa
    Abstract:

    This article surveys techniques used in structured and object-oriented Software Specification methods. The techniques are classified as techniques for the Specification of external interaction and internal decomposition. The external Specification techniques are further subdivided into techniques for the Specification of functions, behavior, and communication. After surveying the techniques, we summarize the way they are used in structured and object-oriented methods and indicate ways in which they can be combined. This article ends with a plea for simplicity in diagram techniques and for the use of formal semantics to define these techniques. The appendices show how the reviewed techniques are used in 6 structured and 19 object-oriented Specification methods.

Wieringaroel - One of the best experts on this subject based on the ideXlab platform.

Fengguang Song - One of the best experts on this subject based on the ideXlab platform.

  • An Algorithm for Forward Reduction in Sequence-Based Software Specification
    International Journal of Software Engineering and Knowledge Engineering, 2016
    Co-Authors: Lan Lin, Yufeng Xue, Fengguang Song
    Abstract:

    Sequence-based Software Specification is a rigorous method for deriving a formal system model based on informal requirements, through a systematic process called sequence enumeration. Under this pr...

  • SCSE - Quality Assurance through Rigorous Software Specification and Testing: A Case Study☆
    Procedia Computer Science, 2015
    Co-Authors: Lan Lin, Yong Zhang, Fengguang Song
    Abstract:

    Abstract This paper demonstrates a case study of combining two rigorous Software Specification and testing methods, namely sequence based Software Specification and Markov chain usage-based statistical testing and their supporting tools, all developed by the University of Tennessee Software Quality Research Laboratory, and integrating them with an automated testing tool selected for the chosen application to provide fully automated statistical testing and Software certification as an economical and feasible means to achieve high product quality. Working on any non-trivial real world problem requires considerable efforts be made to work out all the details needed for fully automated testing with no human intervention. At the end of this process we have the ability of running large numbers of tests, as well as an automated testing facility for low-cost, quick-turnaround testing and re-testing. Our experiences demonstrate a pathway towards lowered cost of testing and improved product quality.