Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960612
Jian Zhang, Chen Xu, S.-C. Cheung
Testing is a critical activity for database application programs as faults if undetected could lead to unrecoverable data loss. Database application programs typically contain statements written in an imperative programming language with embedded data manipulation commands, such as SQL. However relatively little study has been made in the testing of database application programs. In particular, few testing techniques explicitly consider the inclusion of database instances in the selection of test cases and the generation of test data input. In this paper, we study the generation of database instances that respect the semantics of SQL statements embedded in a database application program. The paper also describes a supporting tool which generates a set of constraints. These constraints collectively represent a property against which the program is tested. Database instances for program testing can be derived by solving the set of constraints using existing constraint solvers.
{"title":"Automatic generation of database instances for white-box testing","authors":"Jian Zhang, Chen Xu, S.-C. Cheung","doi":"10.1109/CMPSAC.2001.960612","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960612","url":null,"abstract":"Testing is a critical activity for database application programs as faults if undetected could lead to unrecoverable data loss. Database application programs typically contain statements written in an imperative programming language with embedded data manipulation commands, such as SQL. However relatively little study has been made in the testing of database application programs. In particular, few testing techniques explicitly consider the inclusion of database instances in the selection of test cases and the generation of test data input. In this paper, we study the generation of database instances that respect the semantics of SQL statements embedded in a database application program. The paper also describes a supporting tool which generates a set of constraints. These constraints collectively represent a property against which the program is tested. Database instances for program testing can be derived by solving the set of constraints using existing constraint solvers.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128021664","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960677
Ching-Cheng Lee, W. Xu
There has been a massive growth in systems on the Internet that can personalize the content delivered to individual users. This paper develops a category-based Web personalization system in which an unconventional system logger, along with a category generator and a customizer, was designed. This system obtains and records more precise information directly from the users' activity and the objects they access. In addition, the system is designed with its own method to match and deliver individual information in which each user might be interested. Analysis and comparisons with related work are addressed in this research.
{"title":"Category-based Web personalization system","authors":"Ching-Cheng Lee, W. Xu","doi":"10.1109/CMPSAC.2001.960677","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960677","url":null,"abstract":"There has been a massive growth in systems on the Internet that can personalize the content delivered to individual users. This paper develops a category-based Web personalization system in which an unconventional system logger, along with a category generator and a customizer, was designed. This system obtains and records more precise information directly from the users' activity and the objects they access. In addition, the system is designed with its own method to match and deliver individual information in which each user might be interested. Analysis and comparisons with related work are addressed in this research.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132429579","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960592
H. In, Siddhartha Roy
Negotiating the right balance between conflicting requirements is often a key to the successful software projects. For large projects, requirements negotiation can be especially difficult to do effectively and efficiently when combining input from non-co-located experts and reaching consensus among the different stakeholders (e.g., end-users, developers, software assurance, customers) as well as among the different aspects of software requirements (e.g., functionality, non-functional quality, and infrastructure). Stakeholder perception conflicts about requirements issues should be identified and resolved in early stage of the project life-cycle to achieve a shared vision of the requirements. A technique for effective and efficient requirements conflict identification and resolution is needed. In this paper, we discuss the issues of applying visualization technique to requirements conflict identification and resolution problems with exploration of potential solution approaches. The following visualization issues are discussed: (1) stakeholders' perception representation and consensus measurement, (2) perception visualization, (3) conflict identification, and (4) conflict resolution.
{"title":"Visualization issues for software requirements negotiation","authors":"H. In, Siddhartha Roy","doi":"10.1109/CMPSAC.2001.960592","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960592","url":null,"abstract":"Negotiating the right balance between conflicting requirements is often a key to the successful software projects. For large projects, requirements negotiation can be especially difficult to do effectively and efficiently when combining input from non-co-located experts and reaching consensus among the different stakeholders (e.g., end-users, developers, software assurance, customers) as well as among the different aspects of software requirements (e.g., functionality, non-functional quality, and infrastructure). Stakeholder perception conflicts about requirements issues should be identified and resolved in early stage of the project life-cycle to achieve a shared vision of the requirements. A technique for effective and efficient requirements conflict identification and resolution is needed. In this paper, we discuss the issues of applying visualization technique to requirements conflict identification and resolution problems with exploration of potential solution approaches. The following visualization issues are discussed: (1) stakeholders' perception representation and consensus measurement, (2) perception visualization, (3) conflict identification, and (4) conflict resolution.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134311904","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960606
R. Botha, J. Eloff
Due to the correspondence between the role abstraction in Role-based Access Control (RBAC) and the notion of organizational positions, it seems easy to construct role hierarchies. This is, however, a misconception. This paper argues that, in order to reflect the functional requirements, a role hierarchy becomes very complex. In a bid to simplify the design of role hierarchies suitable for the expression of access control requirements in workflow systems, the paper proposes a "typed" role hierarchy. In a "typed" role hierarchy a role is of a specific type. The associations between different types of roles are limited by rules that govern the construction of a role hierarchy. This paper proposes a methodology to systematically construct a "typed" role hierarchy. Since the "typed" nature of the role hierarchy is only relevant during the construction of the role hierarchy, it can seamlessly be integrated into existing RBAC schemes that support the concept of role hierarchies.
{"title":"Designing role hierarchies for access control in workflow systems","authors":"R. Botha, J. Eloff","doi":"10.1109/CMPSAC.2001.960606","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960606","url":null,"abstract":"Due to the correspondence between the role abstraction in Role-based Access Control (RBAC) and the notion of organizational positions, it seems easy to construct role hierarchies. This is, however, a misconception. This paper argues that, in order to reflect the functional requirements, a role hierarchy becomes very complex. In a bid to simplify the design of role hierarchies suitable for the expression of access control requirements in workflow systems, the paper proposes a \"typed\" role hierarchy. In a \"typed\" role hierarchy a role is of a specific type. The associations between different types of roles are limited by rules that govern the construction of a role hierarchy. This paper proposes a methodology to systematically construct a \"typed\" role hierarchy. Since the \"typed\" nature of the role hierarchy is only relevant during the construction of the role hierarchy, it can seamlessly be integrated into existing RBAC schemes that support the concept of role hierarchies.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129829532","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960670
William B. McNatt, J. Bieman
Object-oriented (OO) design patterns define collections of interconnected classes that serve a particular purpose. A design pattern is a structural unit in a system built out of patterns, not unlike the way a function is a structural unit in a procedural program or a class is a structural unit in an OO system designed without patterns. When designers treat patterns as structural units, they become concerned with issues such as coupling and cohesion at a new level of abstraction. We examine the notion of pattern coupling to classify how designs may include coupled patterns. We find many examples of coupled patterns; this coupling may be "tight" or "loose", and provides both benefits and costs. We qualitatively assess the goodness of pattern coupling in terms of effects on maintainability, factorability, and reusability when patterns are coupled in various ways.
{"title":"Coupling of design patterns: common practices and their benefits","authors":"William B. McNatt, J. Bieman","doi":"10.1109/CMPSAC.2001.960670","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960670","url":null,"abstract":"Object-oriented (OO) design patterns define collections of interconnected classes that serve a particular purpose. A design pattern is a structural unit in a system built out of patterns, not unlike the way a function is a structural unit in a procedural program or a class is a structural unit in an OO system designed without patterns. When designers treat patterns as structural units, they become concerned with issues such as coupling and cohesion at a new level of abstraction. We examine the notion of pattern coupling to classify how designs may include coupled patterns. We find many examples of coupled patterns; this coupling may be \"tight\" or \"loose\", and provides both benefits and costs. We qualitatively assess the goodness of pattern coupling in terms of effects on maintainability, factorability, and reusability when patterns are coupled in various ways.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130316730","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960613
W. Tsai, Xiaoying Bai, R. Paul, W. Shao, Vishal Agarwal
Integration testing has always been a challenge especially if the system under test is large with many subsystems and interfaces. This paper proposes an approach to design End-to-End (E2E) integration testing, including test scenario specification, test case generation and tool support. Test scenarios are specified as thin threads, each of which represents a single function from an end user's point of view. Thin threads can be organized hierarchically into a tree with each branch consisting of a set of related thin threads representing a set of related functionality. A test engineer can use thin-thread trees to generate test cases systematically, as well as carry out other related tasks such as risk analysis and assignment, regression testing, ripple effect analysis. A prototype tool has been developed to support E2E testing in a distributed environment on the J2EE platform.
{"title":"End-to-end integration testing design","authors":"W. Tsai, Xiaoying Bai, R. Paul, W. Shao, Vishal Agarwal","doi":"10.1109/CMPSAC.2001.960613","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960613","url":null,"abstract":"Integration testing has always been a challenge especially if the system under test is large with many subsystems and interfaces. This paper proposes an approach to design End-to-End (E2E) integration testing, including test scenario specification, test case generation and tool support. Test scenarios are specified as thin threads, each of which represents a single function from an end user's point of view. Thin threads can be organized hierarchically into a tree with each branch consisting of a set of related thin threads representing a set of related functionality. A test engineer can use thin-thread trees to generate test cases systematically, as well as carry out other related tasks such as risk analysis and assignment, regression testing, ripple effect analysis. A prototype tool has been developed to support E2E testing in a distributed environment on the J2EE platform.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115737397","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960627
L. Granville, L. Tarouco
Providing QoS-guaranteed services in current installed networks is an important issue, only the deploying QoS services is not enough to guarantee their success: QoS management must also be provided. Nowadays, policy-based management addresses this need, but such management is not enough either network managers often deal with QoS tasks that cannot be performed using only policy-based management This paper describes six important QoS management-related tasks (QoS installation, operation maintenance, discovery, monitoring, analysis and visualization) and shows solutions that can help managers proceed with these tasks. However, these solutions are independent from each other, leading to a scenario where integration is difficult. To solve this lack of integration, QAME (QoS-aware management environment) has been developed, which provides support to allow the execution of the defined QoS tasks in an integrated fashion.
{"title":"QAME - QoS-aware management environment","authors":"L. Granville, L. Tarouco","doi":"10.1109/CMPSAC.2001.960627","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960627","url":null,"abstract":"Providing QoS-guaranteed services in current installed networks is an important issue, only the deploying QoS services is not enough to guarantee their success: QoS management must also be provided. Nowadays, policy-based management addresses this need, but such management is not enough either network managers often deal with QoS tasks that cannot be performed using only policy-based management This paper describes six important QoS management-related tasks (QoS installation, operation maintenance, discovery, monitoring, analysis and visualization) and shows solutions that can help managers proceed with these tasks. However, these solutions are independent from each other, leading to a scenario where integration is difficult. To solve this lack of integration, QAME (QoS-aware management environment) has been developed, which provides support to allow the execution of the defined QoS tasks in an integrated fashion.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128460311","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960678
T. Fan, Wu-Chih Hu, C. Liau
In this paper the qualitative and quantitative semantics for rules in data tables are investigated from a logical viewpoint. In modern data analysis, knowledge can be discovered from data tables and is usually represented by some rules. However the knowledge is useful for a human user only when he can understand the meaning of the rules. This is called the interpretability problem of intelligent data analysis. The solution of the problem depends on the selection of the rule representation language. A good representation language should have clear semantics so that a rule can be effectively validated with respect to the given data tables. In this regard, logic is one of the best choices. Starting from reviewing the decision logic for data tables, we subsequently generalize it to fuzzy and possibilistic decision logics. The rules are then viewed as the implications between well-formed formulas of these logics and their semantics with respect to precise or uncertain data tables are presented. The validity, support, and confidence of a rule are also rigorously defined in the framework.
{"title":"Decision logics for knowledge representation in data mining","authors":"T. Fan, Wu-Chih Hu, C. Liau","doi":"10.1109/CMPSAC.2001.960678","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960678","url":null,"abstract":"In this paper the qualitative and quantitative semantics for rules in data tables are investigated from a logical viewpoint. In modern data analysis, knowledge can be discovered from data tables and is usually represented by some rules. However the knowledge is useful for a human user only when he can understand the meaning of the rules. This is called the interpretability problem of intelligent data analysis. The solution of the problem depends on the selection of the rule representation language. A good representation language should have clear semantics so that a rule can be effectively validated with respect to the given data tables. In this regard, logic is one of the best choices. Starting from reviewing the decision logic for data tables, we subsequently generalize it to fuzzy and possibilistic decision logics. The rules are then viewed as the implications between well-formed formulas of these logics and their semantics with respect to precise or uncertain data tables are presented. The validity, support, and confidence of a rule are also rigorously defined in the framework.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115108894","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960593
F. Barbier
Cooperative and distributed object systems can in essence be specified in using the Unified Modeling Language (UML) that is nowadays recognized as a worldwide standard. In practice, UML fails due to its lack of accuracy. Scenarios in UML, a.k.a. Sequence Diagrams, are natural tools for modeling object interactions and collaborations. Unfortunately, there is no support to deal with combinatory explosion, no support to arrange scenarios in independent packages or to express formal relations between scenarios. Large complex applications and their specification however generate such expectations, and more generally, scalability issues impose a component-based software development. By introducing scenario invariants and contracts in conformance with Class Diagrams, we provide here an original design method. It is illustrated by means of a concrete large-scale networking application. Since implementation is also highlighted, we sketch how the UML models can be derived into components as for instance Enterprise Java Beans (EJBs).
{"title":"Component-based design of large-scale distributed systems","authors":"F. Barbier","doi":"10.1109/CMPSAC.2001.960593","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960593","url":null,"abstract":"Cooperative and distributed object systems can in essence be specified in using the Unified Modeling Language (UML) that is nowadays recognized as a worldwide standard. In practice, UML fails due to its lack of accuracy. Scenarios in UML, a.k.a. Sequence Diagrams, are natural tools for modeling object interactions and collaborations. Unfortunately, there is no support to deal with combinatory explosion, no support to arrange scenarios in independent packages or to express formal relations between scenarios. Large complex applications and their specification however generate such expectations, and more generally, scalability issues impose a component-based software development. By introducing scenario invariants and contracts in conformance with Class Diagrams, we provide here an original design method. It is illustrated by means of a concrete large-scale networking application. Since implementation is also highlighted, we sketch how the UML models can be derived into components as for instance Enterprise Java Beans (EJBs).","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124206187","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2001-10-08DOI: 10.1109/CMPSAC.2001.960663
Klaus Schmid
Software Product Lines is still a new field within software reuse that aims at large-scale, systematic reuse. Huge benefits regarding the reduction of time-to-markets, reduction of effort, and quality improvement have been reported as a result of adopting a product line approach. Since a product line program involves major investments, considerable risks are associated with it. Thus, it is important to evaluate at the start of a product line project, i.e., before the major investments are performed, its potential benefits and risks. In this paper we describe an approach that allows to identify the benefits and risks in a systematic manner, thus enabling the early development of risk-avoiding measures. As opposed to other techniques our approach supports the identification of subdomains that are particular appropriate for systematic reuse and by means of the detailed evaluation enables trade-off decisions on where to invest for reuse.
{"title":"An assessment approach to analyzing benefits and risks of product lines","authors":"Klaus Schmid","doi":"10.1109/CMPSAC.2001.960663","DOIUrl":"https://doi.org/10.1109/CMPSAC.2001.960663","url":null,"abstract":"Software Product Lines is still a new field within software reuse that aims at large-scale, systematic reuse. Huge benefits regarding the reduction of time-to-markets, reduction of effort, and quality improvement have been reported as a result of adopting a product line approach. Since a product line program involves major investments, considerable risks are associated with it. Thus, it is important to evaluate at the start of a product line project, i.e., before the major investments are performed, its potential benefits and risks. In this paper we describe an approach that allows to identify the benefits and risks in a systematic manner, thus enabling the early development of risk-avoiding measures. As opposed to other techniques our approach supports the identification of subdomains that are particular appropriate for systematic reuse and by means of the detailed evaluation enables trade-off decisions on where to invest for reuse.","PeriodicalId":269568,"journal":{"name":"25th Annual International Computer Software and Applications Conference. COMPSAC 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131397629","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}