waashk/dblp huggingface dataset:
introduction to education and training track. the attendees of icse comprise some of the top researchers in software engineering and also many educators of software engineering. traditionally, however, these two groups do not talk to each other about educational issues. then there are the practitioners who attend icse who have their own opinions about the relevance, strengths, and shortcomings of current software engineering education offered in universities. the goal of this year's track on software engineering education and training at icse is to bring these three communities together to discuss some urgent questions that have profound effect on how we structure our educational programs. considering the tremendous changes taking place in the software engineering industry, and in the industrial world in general, it seems appropriate to confront the needs of the software engineering educators.consider just the following increasingly common developments:outsourcing of software projectspervasiveness of software in all areas of commerce, industry, and societyincreasingly distributed platformsopen-source developmentglobalization, leading to international (multi-cultural) distributed software teamshow should these developments change the way we teach software engineering? should textbooks be updated? should software engineering play a different role in the computer science curriculum, that is, be more pervasive? how are professors in universities handling these issues?these are some of the questions we address in this track. in particular, we consider current challenges, current solutions, and future challenges. we are pleased to have six distinguished researchers to present their views and fifteen presenters from universities around the world presenting their innovative approaches in their classrooms. we expect lively and active discussion between the speakers and the audience.
formal verification applied to java concurrent software. applying existing finite-state verification tools to software systems is not yet easy for a variety of reasons. this research activity aims to integrate formal verification with programming languages currently used in software development. in particular, it focuses on elaborating a formal method for the specification and validation of temporal logic properties concerning the behavior of java concurrent programs.
domain modeling for software engineering. the authors examine domain modeling approaches from the viewpoint of their operational goals. domain models are representations of an application domain that can be used for a variety of operational goals in support of specific software engineering tasks or processes. some of the operational goals of domain modeling for software engineering are illustrated. a workshop on domain modeling was organized around operational goals and their resultant domain models and modeling methodologies. the workshop verified the importance of generalized meta-models and their use in instantiating domain knowledge into application domain models. representation, domain classification and analysis, model development, instantiation evolution and validation, and knowledge structuring and inference are discussed
a model for estimating program size and its evaluation. estimation of the size and time required for software development is probably the most difficult aspect of any project. up to now, most estimates have been done subjectively by experts. these estimates are often inaccurate. in the midst of development, faulty estimates may contribute to delays and/or excess expenses. in the last several years, several estimation have been proposed, most of which were models to estimate software development cost {manpower). these models used program size as a variable. however at the beginning of development, when estimations are made, program sizes are usually uncertain and costs (manpower) are equally uncertain. the authors developed a program-size estimation model for batch programs in a banking system, and used the model in an actual project. using the adapted model, estimation errors amounted to only 7 percent. this is much better than the accuracy of estimtions made by experts in the field (usually about 10 percent accuracy), and indicates that objective estimation methods can be derived for program-size. in this paper, we introduce our estimation model and discuss the adaptation of that model for a specific project.
a method for asynchronous parallelization. asynchronous parallelization assists the utilization of parallel hardware by sequential software: a sequential program is decomposed into a program network according a given partition. each generated program may run autonomous, dependencies are realized by communication statements. an algorithm is presented decomposing pascal programs and producing a distributed-pascal program network. at last there is a description of an existing tool using the presented method, and an example will illustrate the method.
information systems: modelling, sequencing and transformations. specification and design of an information system conventionally starts from consideration of the system function. this paper argues that consideration may more properly be given first to the system as a model of the reality with which it is concerned, the function being subsequently superimposed on the model. the form of model proposed is a network of sequential processes communicating by serial data streams. such a model permits a clear representation of change or activity over time, and it also prevents over-specification of sequencing by separating problem-oriented from solution-oriented sequencing constraints. the model, however, cannot be efficiently executed on uniprocessor hardware without transformation. some relevant kinds of transformation are mentioned, and the derivation, by means of them, of conventional information system configurations from the proposed model.
aspect: an economical bug-detector. a technique-aspect-for catching code-level bugs is presented. aspect is intended to be economical for everyday software development. it comprises a formal specification language and a code-checking method. programmers write simple assertions about the information required to compute a result; an efficient mechanical checker can then find bugs in the annotated code. careless slips that escape type-checking and standard compiler anomaly tests can be detected, without the cost of formal verification or the uncertainty of testing. the essence of aspect is reasoning about dependencies between the aspects of abstract objects
alcoa: the alloy constraint analyzer. alcoa is a tool for analyzing object models. it has a range of uses. at one end, it can act as a support tool for object model diagrams, checking for consistency of multiplicities and generating sample snapshots. at the other end, it embodies a lightweight formal method in which subtle properties of behaviour can be investigated.alcoa's input language, alloy, is a new notation based on z. its development was motivated by the need for a notation that is more closely tailored to object models (in the style of uml), and more amenable to automatic analysis. like z, alloy supports the description of systems whose state involves complex relational structure. state and behavioural properties are described declaratively, by conjoining constraints. this makes it possible to develop and analyze a model incrementally, with alcoa investigating the consequences of whatever constraints are given.alcoa works by translating constraints to boolean formulas, and then applying state-of-the-art sat solvers. it can analyze billions of states in seconds.
lightweight extraction of object models from bytecode. a program's object model captures the essence of its design. for some programs, no object model was developed during design; for others, an object model exists but may be out-of-sync with the code. this paper describes a tool that automatically extracts an object model from the classfiles of a java program. unlike existing tools, it handles container classes by inferring the types of elements stored in a container and eliding the container itself. this feature is crucial for obtaining models that show the structure of the abstract state and bear some relation to conceptual models. although the tool performs only a simple, heuristic analysis that is almost entirely local, the resulting object model is surprisingly accurate. the paper explains what object models are and why they are useful; describes the analysis, its assumptions, and limitations; evaluates the tool for accuracy, and illustrates its use on a suite of sample programs.
where do you go when you're through the turnstile? ten years ago, our paper described how a very small system might be developed to control a coin-operated turnstile in a zoo [1]. it arose out of our efforts to understand how requirements, domain knowledge and specifications fit together, and how specifications could be derived systematically. a particular goal was to understand requirements and specifications for telecommunication systems well enough to handle the feature interaction problem that plagues telecommunication software.a year later we published a more comprehensive version of our requirements framework [3], and began to develop the distributed feature composition (dfc) architecture for telecommunication services [2]. we continued to work on it together until mid-2002. dfc has proven successful in practice, and is now being used in a commercial voice-over-ip service.since publishing the requirements framework, we have worked on different kinds of system, and have been confronted with important differences in how its principles apply. it has taken all this time to achieve the goal of understanding requirements for telecommunication services and other connection services. in this domain, requirements are heavily influenced by the fact that services are assemblies of components added to a basic network infrastructure. our work in another direction has led to a focus on system interaction with the human and physical world, recognising the varying roles of formalisation and formal reasoning in problems of different kinds, and the need for a stronger grip on the relationship between engineering of software and engineering in the world.the common lesson of these experiences is that the requirements framework of ten years ago is a good generalization, but specific domains and situations require their own specializations of it.
development of object oriented frameworks for spatio-temporal information systems. domain specific information systems (is) have traditionally been developed using conventional structured analysis and design. this investigation looks into the various aspects of designing and developing an environmental information system (eis) using object technology and in the process identifying new, generic and specific design patterns which can be used in developing object oriented frameworks for the environment domain.
parameter value computation by least square method and evaluation of software availability and reliability at service-operation by the hyper-geometric distribution software reliability growth model (hgdm). the authors explain precisely the idea of the capture-recapture process for software faults in the context of a proposed testing environment and introduce the least square method into the model to estimate the parameter values of the hdgm. for real observed data collected during the service-operational phase, the authors show the applicability of the hgdm in estimating the degree of unavailability of a software system in operation (service). furthermore, the estimated probability of discovering zero faults as service-operation proceeds can be taken as a reliability measure
the information technology security evaluation criteria. the author presents the technical approach adopted for the information technology security evaluation criteria (itsec). the itsec are the result of harmonizing the security evaluation criteria of france, germany, the netherlands and the united kingdom. various background information which led to the development of the itsec in their current form with respect to structure, underlying evaluation philosophy, software engineering practice and external influence is presented. a wider field of applicability than previously developed security criteria was one of itsec's goals. by drawing from the best features of existing national criteria and harmonizing where possible and innovating only where necessary, it is expected that this goal has been achieved
3rd international workshop on net-centric computing (ncc 2001): theme: migrating to the web. the theme of the 3rd international workshop on net-centric computing (ncc 2001) is &ldquo;migrating to the web.&rdquo; the workshop will focus on issues related to reengineering legacy systems for use in an ncc environment. in particular, on holistic techniques for web-enabling existing applications that integrates various reengineering aspects (e.g., code, data, and user interface reengineering) into a &ldquo;whole system&rdquo; modernization process.
moving from iso9000 to higher levels of the cmm (tutorial session). practices in a &ldquo;general&rdquo; iso organizationbrief introduction to cmmleveraging iso structures for cmmgaps in an iso organization with respect to different levels of the cmm.target maturity level for an iso organizationmanaging the transitionco-existence of iso and cmm
overcoming the nah syndrome for inspection deployment. despite considerable evidence to show that inspections can help reduce costs and improve quality, inspections are not widely deployed in the software industry. one of the likely reasons for this is the &ldquo;not applicable here (nah)&rdquo; syndrome-developers and managers believe that in their environment, inspections will not provide the benefits seen by other organizations. one of the big challenges for deploying inspections is to overcome this syndrome. we describe two experiments that can be conducted, with little effort, in an organization to obtain data from the organization to build a case for inspections. by conducting one of these experiments, we were able to effectively overcome the nah syndrome in our organization-many developers and managers are now ready to try inspections in their projects. though the purpose of the experiment was to overcome the syndrome, the data from the experiment also shows how code inspections compare with unit testing in terms of defect detection capability, and the effect of inspections on the overall cost of development
enterprise application integration by means of a generic corba ldap gateway. telecommunication applications are inherently distributed and the interface provided to third party applications is often complex and also distributed. usually, these third party components need only a subset of the provided data, therefore a simple and standardized access method would be preferred. such an interface is provided by the lightweight directory access protocol (ldap) and we designed an ldap to corba (common object request broker architecture) gateway acting as a bridge between the involved technologies.
improving the customer configuration update process by explicitly managing software knowledge. the implementation and continuous support of a software product at a customer with evolving requirements is a complex task for a product software vendor. there are many customers for the vendor to serve, all of whom might require their own version or variant of the application. furthermore, the software application itself will consist of many (software) components that depend on each other to function correctly. on top of that, these components will evolve over time to meet the changing needs of customers. to alleviate this problem we propose to alleviate the software release and deployment effort and reduce risks associated with it. this will be achieved by explicitly managing typical knowledge about the software product, such as configuration and dependency information, thereby allowing software vendors to improve the customer configuration updating process. the proposed solution of knowledge management at both the customer and vendor site, is validated through industrial case studies.
research journey towards industrial application of reuse technique. component-based reuse in mission critical command and control system domain was a starting point for a long lasting research collaboration between national university of singapore (nus) and st electronics pte. ltd. (stee). stee industrial projects as well as nus lab studies revealed limitations of conventional architecture-centric, component-based reuse in the area of generic design to unify similarity patterns (e.g., similar classes, components or architectural patterns) commonly found in software. further research showed that meta-level extensions to conventional techniques could strengthen their generic design capabilities, considerably improving effectiveness of reuse solutions, and increasing productivity gains due to reuse. these experiences led to development of "mixed strategy" approach based on synergistic application of meta-level generative programming technique of xvcl, together with conventional programming techniques. in the paper, we describe university-industry collaboration that proved beneficial for both parties: stee advanced reuse practice via application of xvcl in several software product line projects. early inputs from stee helped nus team validate and refine xvcl reuse methods, and expand into new research directions. we describe a sequence of projects that led to successful application of xvcl in industrial projects. we describe experiences from those projects and their significance for both industrial practice and understanding principles of flexible software, i.e., software that can be easily changed and adapted to various reuse contexts.
cost-effective engineering of web applications pragmatic reuse: building web application product lines. web applications (wa) are developed and maintained under tight schedules. much similarity across was creates opportunities for cutting development cost and easing evolution via reuse. this tutorial shows a practical way to exploit similarity patterns - at architecture and code levels - to simplify the design of was, helping to meet the unique challenges of web engineering.
formal specification and automatic programming. an automatic programming system is proposed based on the works of noonan [2] and jazayeri and walter [10]. the system may be used to automatically produce text processing programs or to test the specifications for such programs. this is the first of three reports covering, respectively, the background and overview, architecture, and implementation of the system.
validating the tame resource data model. this paper presents a conceptual model of software development resource data and validates the model by reference to the published literature on necessary resource data for development support environments. the conceptual model presented here was developed using a top-down strategy. a resource data model is a prerequisite to the development of integrated project support environments which aim to assist in the processes of resource estimation, evaluation and control. the model proposed is a four dimensional view of resources which can be used for resource estimation, utilization, and review. the model is validated by reference to three publications on resource databases, and the implications of the model arising out of these comparisons is discussed.
an inter-organizational comparison of programming productivity. the factors which influence program size and program development time have been investigated across three dissimilar organisations. data on a total of 93 cobol programs has been collected and analysed. eighteen variables covering the characteristics of the program, programmer and programming environment were recorded. program size and program development time were found to have a strong program characteristic and organisation dependency. programmer characteristics did not appear to play a role in influencing program size or program development time. the best determinant of program development time was found to be procedure division lines of code, which gave a simple regression r2 in excess of .79 for the two organisations using well formulated programming standards. productivity measures based on lines of code per hour are shown to be misleading in inter-organisational comparisons.
atlas - an automated software testing system. the automated testing and load analysis system (atlas) formalizes a concept of model-referenced testing for large software systems. a directed graph model of the software under test, describing the sequential stimulus-response behavior of the software system, forms the basis of the approach. the objective of atlas is to certify the software under test against the model. this objective is met by components of atlas that automatically identify, generate, apply, and verify the set of tests required to establish that the software has correctly realized the model. the system has been successfully employed in testing over 40,000 instructions of bell laboratories large no. 4 ess software package. usage data and experience from this application and a critique of the approach are given.
reifying configuration management for object-oriented software. using a solid software configuration management (scm) is mandatory to establish and maintain the integrity of the products of a software project throughout the project's software life cycle. even with the help of sophisticated tools, handling the various dimensions of scm can be a daunting (and costly) task for many projects. the contribution of this paper is to propose a method (based on the use creational design patterns) to simplify scm by reifying the variants of an object-oriented software system into language-level objects; and to show that newly available compilation technology makes this proposal attractive with respect to performance (memory footprint and execution time) by inferring which classes are needed for a specific configuration and optimizing the generated code accordingly, we demonstrate this idea on an artificial case study intended to be representative of a properly designed oo software. all the performance figures me get are obtained with freely available software, and, since the source code of our case study is also freely available, they are easily reproducible and checkable
survivability analysis of network systems. survivability is the ability of a system to continue operating despite the presence of abnormal events such as failures and intrusions. ensuring system survivability has increased in importance as critical infrastructures have become heavily dependent on computers. in this paper we present a systematic method for performing survivability analysis of networked systems. an architect injects failure and intrusion events into a system model and then visualizes the effects of the injected events in the form of scenario graphs. our method enables further global analyses, such as reliability, latency, and cost-benefit analyses, where mathematical techniques used in different domains are combined in a systematic manner. we illustrate our ideas on an abstract model of the united states payment system.