{"title":"Estimating the Required Code Inspection Team Size","authors":"E. Kantorowitz, T. Kuflik, Alexander Raginsky","doi":"10.1109/SwSTE.2007.18","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.18","url":null,"abstract":"Code inspection is considered an efficient method for detecting faults in software code documents. The number of faults not detected by inspection should be small. Several methods have been suggested for estimating the number of undetected faults. These methods include the fault injection method that is considered to be quite laborious, capture recapture methods that avoid the problems of code injection and the Detection Profile Method for cases where capture recapture methods do not provide sufficient accuracy. The Kantorowitz estimator is based on a probabilistic model of the inspection process and enables the estimating the number of inspectors required to detect a specified fraction of all the faults of a document as well as the number of undetected faults. This estimator has proven to be satisfactory in inspection of user requirements documents. The experiments reported in this study suggest that it is also useful for code inspection.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114250730","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}
{"title":"An Approach to ERP Testing Using Services","authors":"S. Schliesser","doi":"10.1109/SwSTE.2007.17","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.17","url":null,"abstract":"Enterprise packages software solutions are becoming an increasingly popular choice for organizations aiming to streamline their business processes. However, as the software complexity reaches new heights, package vendors are faced with critical concerns regarding quality assurance. Traditional testing methods are not designed to meet all the challenges posed by ERP implementation. This paper will try to suggest a novel approach to dealing with the complexity aspects of testing. We will try and demonstrate how the technical advancements introduced by SOA enable the adoption of such approach by many package vendors.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129331256","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}
{"title":"SOA for services or UML for objects: Reconciliation of the battle of giants with Object-Process Methodology","authors":"D. Dori","doi":"10.1109/SWSTE.2007.10","DOIUrl":"https://doi.org/10.1109/SWSTE.2007.10","url":null,"abstract":"Two software system lifecycle development paradigms have been competing on the minds and hearts of software developers and executives: The traditional Object-Oriented approach and the emerging Service-Oriented Architecture (SOA) or SO Development of Application (SODA). While OO puts objects and their encapsulated behavior at the center stage, emphasizing primarily rigid structure, SODA hails services as the prime players to cater primarily to behavior. We discuss the new SOA technologies from the extended enterprise and the service network all the way to the atomic service level and show that Object- Process Methodology (OPM), which strikes a unique balance between structure and behavior, is most suitable as the underlying SOA-based lifecycle engineering approach. Using OPCAT, the OPMsupporting systems modeling software environment, we construct the top level diagram of a model of SODA and simulate it using animation in order to show how OPM conveniently serves as an ideal overarching comprehensive methodology that encompasses the entire spectrum of service-oriented enterprise systems development.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121751658","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}
{"title":"AspectJTamer: The Controlled Weaving of Independently Developed Aspects","authors":"C. Serban, S. Tyszberowicz","doi":"10.1109/SwSTE.2007.15","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.15","url":null,"abstract":"In recent years, Aspect Oriented Programming (AOP) has emerged as a promising model for modularizing large and complex programs, advancing towards wider acceptance for mainstream commercial development. The use of AOP techniques for developing commercial applications poses, however, a number of challenges - especially when such applications are composed of large numbers of binary components containing independently developed aspects. The interaction of such independently developed aspects with each other and with the rest of the system can lead to unexpected problems. First, aspects in binary distributions can be mistakenly treated as ordinary classes, thus ignoring their complex interaction with the rest of the system. Second, independently developed aspects might inadvertently make inappropriate assumptions about their application environment, thus creating unintended effects. This paper presents AspectJTamer, a tool for addressing these issues. First, AspectJTamer provides support for identifying aspects that are present in binary distributions and for documenting their specific interaction points, thus making explicit both their assumptions about, and their weaving scope within, an application. Second, AspectJTamer provides a mechanism to control the weaving scope of binary aspects in a flexible manner, thus offering supplemental constraints overriding the assumptions made by independently developed aspects.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115202970","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}
{"title":"Computation Independent Modeling within the MDA","authors":"J. Osis, Erika Asnina, A. Grave","doi":"10.1109/SwSTE.2007.20","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.20","url":null,"abstract":"Object oriented analysis suggests semiformal use case driven techniques for problem domain modeling from a computation independent viewpoint. The proposed approach called Topological Functioning Modeling for Model Driven Architecture (TFM4MDA) increases the degree of formalization. It uses mathematical foundations of Topological Functioning Model (TFM) that holistically represents complete functionality of the system. The TFM4MDA introduces more formal analysis of a business system, namely enables defining not what the client wants, but what the client needs, and also enables textual functional requirement checking, missing requirement checking in conformance with the problem domain \"as is\" model. A use case model of the application is defined with the help of a goal-based method. A domain concept model is defined by graph transformation of the TFM. The paper also suggests an Eclipse plug-in conception for the implementation of the TFM4MDA.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125433795","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}
{"title":"Refactoring Aspects into Java Code","authors":"M. Kleyman, S. Tyszberowicz, A. Yehudai","doi":"10.1109/SwSTE.2007.7","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.7","url":null,"abstract":"One of the principles of the agile development methodology is to \"welcome changing requirements even late in development\". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"55 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120917502","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}
{"title":"Execution platform for the Graphic Real-Time Design tool of Arts'Codes","authors":"A. Teitelbaum","doi":"10.1109/SwSTE.2007.19","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.19","url":null,"abstract":"Arts'Codes method is an executable Visual Programming Language for real-time application's development. It emerged from cognitive skills and realtime system researches. On one hand, it molds the software design according the natural cognitive skills, without deteriorating execution performance. On the other hand, it proposed also a robust execution platform which takes into account only dry technical restrictions which does not depend on the design cognitive problems. A bridge between these two contradictory dimensions (cognition vs. execution) was built by defining well-defined rules for the design of an execution platform, in order to conserve the advantages of each dimension. The purpose of this paper is to describe the execution platform and the rules for compilation.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122193827","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}
{"title":"The Software Engineering Timeline: A Time Management Perspective","authors":"O. Hazzan, Y. Dubinsky","doi":"10.1109/SwSTE.2007.9","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.9","url":null,"abstract":"This paper addresses time management in software development processes. The rationale for this investigation stems from the observation that many of the problems associated with software projects, such as planning, time pressure and late deliveries, are time related. The analysis presented is based both on a literature review and on illustrations of data taken from our research on different software project management paradigms - mainly heavyweight and agile software development.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122698554","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}
{"title":"Derived Requirements Generation: The DRAS Methodology","authors":"D. Bar-On, S. Tyszberowicz","doi":"10.1109/SwSTE.2007.8","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.8","url":null,"abstract":"In the early stages of system development, many requirements interdependencies exist. Interacting requirements may conflict with one another and they may impact (change, enhance, or override) other requirements as well. Those interdependencies should be identified as early as possible in the development lifecycle. Conflicts should be resolved, so as to avoid the cost and schedule overhead that comes when detecting them late in the development process. Properly identifying the interactions, during the requirements elicitation and analysis, results in new and modified Derived Requirements (DRs). These DRs resolve interactions and undesirable conflicts. An important kind of requirements which interact with other requirements is crosscutting Functional Requirements (FRs). The DRAS (Derived Requirements generation based on Actions and States) methodology presented in this paper helps both to identify FRs that crosscut other FRs and to generate the derived or modified requirements. To identify crosscutting requirements, the methodology matches the actions used by the requirement and the system modes and states related to these requirements. When the same action is used by two requirements it might indicates that one of the requirements may crosscut the other. In addition to actions directly used, DRAS takes into account also actions implied by them. For a specific action Act (referred to by a requirement), DRAS uses the following implied-actions: (a) Actions that are activated as a consequence or result of using Act, or (b) Actions that Act is the consequence of their use.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133896275","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}
{"title":"Success of Open Source Projects: Patterns of Downloads and Releases with Time","authors":"A. Israeli, D. Feitelson","doi":"10.1109/SwSTE.2007.11","DOIUrl":"https://doi.org/10.1109/SwSTE.2007.11","url":null,"abstract":"The success of software projects has many different facets: meeting user requirements, being developed within given budget and time constraints, and actually being used. We focus on one of them: the pattern of adoption by users, and its possible relationship with continued development. This is done based on readily available data for open source projects, namely their releases and downloads. Rather than just classifying projects as \"successful\" or \"failure\", we identify six distinct patterns of how the download rate changes with time that illuminate different aspects of successful or failed projects. \"You're not thinking fourth dimensionally!\" Dr. Emmett \"Doc\" Brown, Back To The Future III, scene 8","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129741060","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}