waashk/dblp huggingface dataset:
a business process explorer: recovering and visualizing e-commerce business processes. a business process is composed of a set of interrelated tasks which are joined together by control flow elements. e-commerce systems implement business processes to automate the daily operations of an organization. organizations must continuously modify their e-commerce systems to accommodate changes to business processes. however, modifying e-commerce systems is a time consuming and error prone task. to correctly perform this task, developers require an in-depth understanding of multi-tiered e-commerce systems and the business processes that they implement. in this paper, we present a business process explorer tool which automatically recovers business processes from three tier e-commerce systems. developers can explore the recovered business processes and browse the corresponding source code. we integrate our tool with ibm websphere business modeler (wbm), a leading commercial tool for business process management and modeling. business analysts could then visualize and analyze the recovered processes using wbm. the business process explorer eases the co-evolution of business processes and their e-commerce system implementation.
decimal and plfaultcat: from product-line requirements to product-line member software fault trees. plfaultcat is a tool for software fault tree analysis (sfta) during product-line engineering. when linked with decimal, a product-line requirements verification tool, the enhanced version of plfaultcat provides traceability between productline requirements and sfta hazards as well as semi-automated derivation of the sfta for each new product-line system previously verified by decimal. the combined tool reduces the effort needed to safely reuse requirements and customize the product-line sfta as each new system is constructed.
a tale of four kernels. the freebsd, gnu/linux, solaris, and windows operating systems have kernels that provide comparable facilities. interestingly, their code bases share almost no common parts, while their development processes vary dramatically. we analyze the source code of the four systems by collecting metrics in the areas of file organization, code structure, code style, the use of the c preprocessor, and data organization. the aggregate results indicate that across various areas and many different metrics, four systems developed using wildly different processes score comparably. this allows us to posit that the structure and internal quality attributes of a working, non-trivial software artifact will represent first and foremost the engineering requirements of its construction, with the influence of process being marginal, if any.
sofya: supporting rapid development of dynamic program analyses for java. dynamic analysis is an increasingly important means of supporting software validation and maintenance. to date, developers of dynamic analyses have used low-level instrumentation and debug interfaces to realize their analyses. many dynamic analyses, however, share multiple common high-level requirements, e.g., capture of program data state as well as events, and efficient and accurate event capture in the presence of threading. we present sofya -- an infra-structure designed to provide high-level, efficient, concurrency-aware support for building analyses that reason about rich observations of program data and events. it provides a layered, modular architecture, which has been successfully used to rapidly develop and evaluate a variety of demanding dynamic program analyses. in this paper, we describe the sofya framework, the challenges it addresses, and survey several such analyses.
todo or to bug: exploring how task annotations play a role in the work practices of software developers. software development is a highly collaborative activity that requires teams of developers to continually manage and coordinate their programming tasks. in this paper, we describe an empirical study that explored how task annotations embedded within the source code play a role in how software developers manage personal and team tasks. we present findings gathered by combining results from a survey of professional software developers, an analysis of code from open source projects, and interviews with software developers. our findings help us describe how task annotations can be used to support a variety of activities fundamental to articulation work within software development. we describe how task management is negotiated between the more formal issue tracking systems and the informal annotations that programmers write within their source code. we report that annotations have different meanings and are dependent on individual, team and community use. we also present a number of issues related to managing annotations, which may have negative implications for maintenance. we conclude with insights into how these findings could be used to improve tool support and software process.
taxi - a tool for xml-based testing. we present the tool taxi which implements the xml-based partition testing approach for the automated generation of xml instances conforming to a given xml schema. in addition it provides a set of weighted test strategies to guide the systematic derivation of instances. taxi can be used for black-box testing of applications accepting in input xml instances and for benchmarking of database management systems.
supporting requirements engineering for medical products: early consideration of user-perceived quality. the usability and, more generally, the overall user-perceived quality of medical devices is an important aspect, which is often insufficiently addressed in the corresponding system development activities. fortunately, the development of new standards like iec/din en 60601-1-6 is strengthening the focus on usability / user acceptance issues. this paper argues for the need to consider usability and user acceptance issues in early system development phases like the requirements engineering phase. in this paper, an empirically validated new quality model for user satisfaction is described first. the importance of the quality aspects included in this quality model for the medical domain is outlined. then, the new quality model is used to develop a systematic methodology called appraisal and measurement of user satisfaction (amuse), which allows gathering user acceptance information early in system development. the key activities of the amuse methodology and typical application scenarios are shown. further on, the application of amuse, which was developed in close cooperation with siemens corporate technology, is demonstrated in a real-world scenario at siemens audiologische technik, a line of business of siemens medical solutions. at the end, the first lessons learned from the application of the amuse methodology in this medical domain are discussed.
shiws: a self-healing integrator for web services. the integration of third-party web services is challenged by the difficulty of keeping consistency between software systems that are maintained by different organizations and may evolve dynamically and independently, because of both changes in service implementation and dynamic discovery of new services.
scalable detection of semantic clones. several techniques have been developed for identifying similar code fragments in programs. these similar fragments, referred to as code clones, can be used to identify redundant code, locate bugs, or gain insight into program design. existing scalable approaches to clone detection are limited to finding program fragments that are similar only in their contiguous syntax. other, semantics-based approaches are more resilient to differences in syntax, such as reordered statements, related statements interleaved with other unrelated statements, or the use of semantically equivalent control structures. however, none of these techniques have scaled to real world code bases. these approaches capture semantic information from program dependence graphs (pdgs), program representations that encode data and control dependencies between statements and predicates. our definition of a code clone is also based on this representation: we consider program fragments with isomorphic pdgs to be clones. in this paper, we present the first scalable clone detection algorithm based on this definition of semantic clones. our insight is the reduction of the difficult graph similarity problem to a simpler tree similarity problem by mapping carefully selected pdg subgraphs to their related structured syntax. we efficiently solve the tree similarity problem to create a scalable analysis. we have implemented this algorithm in a practical tool and performed evaluations on several million-line open source projects, including the linux kernel. compared with previous approaches, our tool locates significantly more clones, which are often more semantically interesting than simple copied and pasted code fragments.
acl2s: "the acl2 sedan". acl2 is the latest inception of the boyer-moore theorem prover, the 2005 recipient of the acm software system award. in the hands of experts it feels like a finely tuned race car, and it has been used to prove some of the most complex theorems ever proved about commercially designed systems. unfortunately, acl2 has a steep learning curve. thus, novices tend have a very different experience: they crash and burn. as part of a project to make acl2 and formal reasoning safe for the masses, we have developed acl2s, the acl2 sedan. acl2s includes many features for streamlining the learning process that are not found in acl2. in general, the goal is to develop a tool that is ''self-teaching,''i.e., it should be possible for an undergraduate to sit down and play with it and learn how to program in acl2 and how to reason about the programs she writes.
a comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. in this paper we present a comparative analysis of the predictive power of two different sets of metrics for defect prediction. we choose one set of product related and one set of process related software metrics and use them for classifying java files of the eclipse project as defective respective defect-free. classification models are built using three common machine learners: logistic regression, naïve bayes, and decision trees. to allow different costs for prediction errors we perform cost-sensitive classification, which proves to be very successful: >75% percentage of correctly classified files, a recall of >80%, and a false positive rate
trio2promela: a model checker for temporal metric specifications. we present trio2promela, a tool for model checking metric temporal logic specifications written in the trio language. our approach is based on the translation of formulae into promela programs for the model checker spin, guided by equivalence between temporal logic and alternating büchi automata. trio2promela may be used also to check satisfiability of temporal logic specifications (a distinguishing difference with other model checking tools).
improving the handsets network test process via dmaic concepts. the wireless network evolution has allowed that the handset technology provides a broad and new set of resources and facilities to their users. however, this evolution is also increasing the number and complexity of testing prior to handsets deployment, so that there is a need to apply methodologies to ensure the quality of the test process while it evolves. this paper relates how the dmaic framework could be used as an option to ensure and improve the quality of handsets network test processes. dmaic is a six sigma framework based on measures and statistical analysis, which has commonly been applied during several stages of software development. our focus, in this paper, is on the definition of the dmaic phases and how this framework could be useful to stress problems and lead the effort of tests corrections and improvements.
using jule to generate a compliance test suite for the uml standard. the java-uml lightweight enumerator (jule) tool implements a vitally important aspect of the framework for software tool certification - test suite generation. the framework uses uml models as the test inputs for the bounded exhaustive-testing approach. within a size bound for the metamodel types, jule enumerates only the set of non-isomorphic models in the form of relational structures. these models are classified into two sets - demonstration and counterexample - using binary decision diagrams (bdds). the power of jule lies in its model enumeration and its use of a high-performance grid infrastructure. hence, jule efficiently generates a very small test suite while increasing the bound on the input size to the extent that is practical for certification purpose.
websob: a tool for robustness testing of web services. web services are a popular way of implementing a service-oriented architecture. testing can be used to help assure both the correctness and robustness of a web service. because manual testing is tedious, tools are needed to automate test generation and execution for web services. this paper presents websob, a tool for automatically generating and executing web-service requests given a service provider's web service description language (wsdl) specification. we have applied websob to freely available web services and our experiences show that websob can be used to quickly generate and execute web-service requests that may reveal robustness problems with no knowledge of the underlying web service implementation.
developing a security protocol for a distributed decision support system in a healthcare environment. in this paper, we describe the unique security issues involved in healthcare domains. these have been addressed to the needs of the healthagents project. in the proposed approach, several levels of security have been provided in accordance with software engineering principles, ethical regulations for healthcare data, as well as the security requirements usually raised from the distributed clinical settings. the result is the production of a secure and maintainable multi-agent system that enables secure communication, uniform home site authentication, and customised resource access authorisation. a security policy rule scheme has been designed for agent interaction modelling. this separates the functional and non-functional (security) requirements but let security policy constraints integrate into the running of the agents via a unified role notion. each user/agent can play a function role only when its assigned social rights roles permit the access to resources of various types and geographical locations, as specified in the function role behaviour. the approach is illustrated using a comprehensive secure access case.
dynamo and self-healing bpel compositions. dynamo augments current bpel technology with self-healing capabilities. dedicated supervision rules allow the designer to set the amount of checks that must be performed at runtime and how the bpel process must react whether anomalies arise. the technological underpinnings come from assertion languages and rule-based systems. the implementation exploits aspects and a rule engine to extend activebpel with self-healing capabilities.
temporal dependency based checkpoint selection for dynamic verification of fixed-time constraints in grid workflow systems. in grid workflow systems, temporal correctness is critical to assure the timely completion of grid workflow execution. to monitor and control the temporal correctness, fixed-time constraints are often assigned to a grid workflow and then verified. a checkpoint selection strategy is used to select checkpoints along grid workflow execution for verifying fixed-time constraints. the problem of existing representative strategies is that they do not differentiate fixed-time constraints as once a checkpoint is selected, they verify all fixed-time constraints. however, these checkpoints do not need to be taken for those constraints whose consistency can be deduced from others. the corresponding verification of such constraints is consequently unnecessary and can severely impact the efficiency of overall temporal verification. to address the problem, in this paper, we develop a new temporal dependency based checkpoint selection strategy which can select checkpoints according to different fixed-time constraints. with our strategy, the corresponding unnecessary verification can be avoided. the comparison and experimental simulation further demonstrate that our new strategy can improve the efficiency of overall temporal verification significantly over the existing representative strategies.
on sufficiency of mutants. mutation is the practice of automatically generating possibly faulty variants of a program, for the purpose of assessing the adequacy of a test suite or comparing testing techniques. the cost of mutation often makes its application infeasible. the cost of mutation is usually assessed in terms of the number of mutants, and consequently the number of "mutation operators" that produce them. we address this problem by finding a smaller subset of mutation operators, called "sufficient", that can model the behaviour of the full set. to do this, we provide an experimental procedure and adapt statistical techniques proposed for variable reduction, model selection and nonlinear regression. our preliminary results reveal interesting information about mutation operators.
analyzing medical processes. this paper shows how software engineering technologies used to define and analyze complex software systems can also be effective in detecting defects in human-intensive processes used to administer healthcare. the work described here builds upon earlier work demonstrating that healthcare processes can be defined precisely. this paper describes how finite-state verification can be used to help find defects in such processes as well as find errors in the process definitions and property specifications. the paper includes a detailed example, based upon a real-world process for transfusing blood, where the process defects that were found led to improvements in the process.
testing and analysis of access control policies. policy testing and analysis are important techniques for high assurance of correct specification of access control policies. we propose a set of testing and analysis techniques for access control policies and tools for empirically investigating and evaluating the proposed techniques. we propose a fault model for access control policies and investigate various fault types and their frequencies of occurrence in policy development; we develop a mutation testing framework that implements the fault model; we propose and investigate various coverage criteria for testing access control policies; we develop various test generation techniques and evaluate them using the coverage criteria and mutation testing framework; we develop a policy model to facilitate refactoring, performance optimizations, dependency identification, and other types of static analysis. to make our discussion concrete, we choose to present our techniques in the context of xacml. note that since xacml is an application-independent, generic access control policy language, our techniques can be equally applied to test policies written in other languages.
the effect of the number of inspectors on the defect estimates produced by capture-recapture models. inspections can be made more cost-effective by using capture-recapture methods to estimate post-inspection defects. previous capture-recapture studies of inspections used relatively small data sets compared with those used in biology and wildlife research (the origin of the models). a common belief is that capture-recapture models underestimate the number of defects but their performance can be improved with data from more inspectors. this increase has not been evaluated in detail. this paper evaluates new estimators from biology not been previously applied to inspections. using a data from seventy-three inspectors, we analyze the effect of the number of inspectors on the quality of estimates. contrary to previous findings indicating that jackknife is the best estimator, our results show that the sc estimators are better suited to software inspections. our results also provide a detailed analysis of the number of inspectors necessary to obtain estimates within 5% to 20% of the actual.
a data model to support end user software engineering. many end user programming tools such as spreadsheets and databases offer poor support for representing data at a level of abstraction that is intuitive to users. for example, users must work with "strings" rather than person names, phone numbers, or street addresses. as a result, validating and manipulating data is difficult. this thesis develops a new user-extensible model for semi-structured data items. each "tope" within this model defines how to recognize a kind of data item based on format and context, and how to transform that kind of item among valid formats. to show the usefulness of this model, we provide an environment to help end-user programmers to create, share, and apply topes, enabling these users to quickly implement data validation and reformatting functionality.
state extensions for java pathfinder. java pathfinder (jpf) is an explicit-state model checker for java programs. jpf implements a backtrackable java virtual machine (jvm) that provides non-deterministic choices and control over thread scheduling. jpf is itself implemented in java and runs on top of a host jvm. jpf represents the jvm state of the program being checked and performs three main operations on this state representation: bytecode execution, state backtracking, and state comparison. this paper summarizes four extensions that we have developed to the jpf state representation and operations. one extension provides a new functionality to jpf, and three extensions improve performance of jpf in various scenarios. some of our code has already been included in publicly available jpf.
a discreet, fault-tolerant, and scalable software architectural style for internet-sized networks. large networks, such as the internet, pose an ideal medium for solving computationally intensive problems, such as np-complete problems, yet no well-scaling architecture for internet-sized systems exists. i propose a software architectural style for large networks, based on a formal mathematical study of crystal growth that will exhibit properties of (1) discreetness (nodes on the network cannot learn the algorithm or input of the computation), (2) fault-tolerance (malicious, faulty, and unstable nodes cannot break the computation), and (3) scalability (communication among the nodes does not increase with network or problem size). i plan to evaluate the style both theoretically and empirically for these three properties.
breaking the barriers to successful refactoring: observations and tools for extract method. refactoring is the process of changing the structure of code without changing its behavior. refactoring can be semi-automated with tools, which should make it easier for programmers to refactor quickly and correctly. however, we have observed that many tools do a poor job of communicating errors triggered by the refactoring process and that programmers using them sometimes refactor slowly, conservatively, and incorrectly. in this paper we characterize problems with current refactoring tools, demonstrate three new tools to assist in refactoring, and report on a user study that compares these new tools against existing tools. the results of the study show that speed, accuracy, and user satisfaction can be significantly increased. from the new tools we induce a set of usability recommendations that we hope will help inspire a new generation of programmer-friendly refactoring tools.