The ability to manage the evolution of a software system is critical to a successful development process. In a typical software development process, software engineers think and reason in terms of logical abstractions...
详细信息
The ability to manage the evolution of a software system is critical to a successful development process. In a typical software development process, software engineers think and reason in terms of logical abstractions, their compositions and interrelations. However, existing version control and software configuration management (SCM) systems treat a software system as a set of files in a conventional file system. This creates an impedance mismatch between the design and implementation domain (semantic level) and the configuration management domain (file level). File-oriented SCM systems, whose concepts are heavily based on the storage structure, can become burdensome for developers partly because design/implementation methods and SCM infrastructures require different mental models. This paper describes Molhado (Nguyen, 2005; Nguyen et al., 2004; Nguyen et al., 2005), an extensible and adaptable SCM framework and infrastructure that helps developers quickly create the core of an object-oriented SCM system for any application domain independent of the concrete file structure. SCM systems based on Molhado can be built to operate entirely at the logical level, eliminating that impedance mismatch
Public available data sources are an important knowledge generator from which researchers can obtain, mostly in a non-intrusive way, data and facts from software projects. We present a methodological approach to the d...
详细信息
Public available data sources are an important knowledge generator from which researchers can obtain, mostly in a non-intrusive way, data and facts from software projects. We present a methodological approach to the data sources commonly found in libre (free, open source) software projects over the Internet, explain how to extract these data and enhance them and offer some ways of analyzing it from various perspectives. The whole process has been implemented with tools that automatize the process so that an ample amount of analysis from various angles (that range from software maintenance and software evolution to the social structure of the underlying organization in charge of the development) of a huge amount of software projects has been used as case studies. This paper demonstrates that it is possible to build research methodologies that can be applied to a large quantity of software projects and that empirical software engineering studies have not to refer to a limited number of software projects. Although specifically targeted to libre software development, many of the techniques and lessons learned can be generally applied to other types of software environments
Dissatisfaction with heavyweight development approaches has lead to a proposal of agile methodologies. While heavyweight approaches are geared towards careful project planning, formalized quality assurance, and contro...
详细信息
Dissatisfaction with heavyweight development approaches has lead to a proposal of agile methodologies. While heavyweight approaches are geared towards careful project planning, formalized quality assurance, and controlled and rigorous software development processes, the agile approaches focus on quick adaptation to change, and flexibility. Today, there are a number of different agile methods available, such as Scrum, Crystal, Adaptive Software Development, Feature Driven Development, and extreme programming. Although different, they share the same principles. Some of them are: (1) individuals and interactions over processes and tools, (2) working code over comprehensive documentation, (3) customer collaboration over contract negotiation, and (4) responding to change over following a plan. The proponents claim that agile methodologies lead to more effective and efficient development. The opponents, on the other hand, have stamped the agile approach as a "license to hack" or "cowboy", or "code-and-fix" method.
Spatial cognition and program development have both been examined using contrasting models. We suggest that sex-based differences in one's perception of risk is the key to relating these models. Specifically, the ...
详细信息
Spatial cognition and program development have both been examined using contrasting models. We suggest that sex-based differences in one's perception of risk is the key to relating these models. Specifically, the survey map approach to navigation and the top-down development/comprehension strategy use similar and related high risk cognitive skills that males show a preference towards. Conversely, the route-based approach to navigation and the bottom-up development/comprehension strategy use similar and related low risk cognitive skills that women show a preference towards. On the assumption that programmers are consistent in their risk-taking behaviours, we believe that they, as much as possible, tend to use the same strategy when performing program development and comprehension. In an experimental setting, we compare programmer's performance on spatial cognition and program comprehension tasks. The correlations that we found suggest that programmers use equivalently risky strategies for program comprehension and spatial cognition. Thus, there is evidence that similar cognitive skills are used for spatial cognition and program comprehension/development, and that the similarities are a consequence of sex-based differences in risk-taking behaviour
Scheduling/prioritization of DBMS transactions is important for many applications that rely on database backends. A convenient way to achieve scheduling is to limit the number of transactions within the database, main...
详细信息
Scheduling/prioritization of DBMS transactions is important for many applications that rely on database backends. A convenient way to achieve scheduling is to limit the number of transactions within the database, maintaining most of the transactions in an external queue, which can be ordered as desired by the application. While external scheduling has many advantages in that it doesn’t require changes to internal resources, it is also difficult to get right in that its performance depends critically on the particular multiprogramming limit used (the MPL), i.e. the number of transactions allowed into the database. If the MPL is too low, throughput will suffer, since not all DBMS resources will be utilized. On the other hand, if the MPL is too high, there is insufficient control on scheduling. The question of how to adjust theMPL to achieve both goals simultaneously is an open problem, not just for databases but in system design in general. Herein we study this problem in the context of transactional workloads, both via extensive experimentation and queueing theoretic analysis. We find that the two most critical factors in adjusting the MPL are the number of resources that the workload utilizes and the variability of the transactions’ service demands. We develop a feedback based controller, augmented by queueing theoretic models for automatically adjusting the MPL. Finally, we apply our methods to the specific problem of external prioritization of transactions. We find that external prioritization can be nearly as effective as internal prioritization, without any negative consequences, when the MPL is set appropriately.
The proceedings contain 6 papers. The topics discussed include: an explanation based generalization approach to inductive synthesis of functional programs;synthesis of scientific algorithms based on evolutionary compu...
The proceedings contain 6 papers. The topics discussed include: an explanation based generalization approach to inductive synthesis of functional programs;synthesis of scientific algorithms based on evolutionary computation and templates;kernels on prolog proof trees: statistical learning in the ILP setting;learning recursive prolog programs with local variables from examples;incremental discovery of sequential patterns for grammatical inference;and data-dependencies and learning in artificial systems.
Markov logic networks (MLNs) combine logic and probability by attaching weights to first-order clauses, and viewing these as templates for features of Markov networks. In this paper we develop an algorithm for learnin...
详细信息
ISBN:
(纸本)1595931805
Markov logic networks (MLNs) combine logic and probability by attaching weights to first-order clauses, and viewing these as templates for features of Markov networks. In this paper we develop an algorithm for learning the structure of MLNs from relational databases, combining ideas from inductive logicprogramming (ILP) and feature induction in Markov networks. The algorithm performs a beam or shortestfirst search of the space of clauses, guided by a weighted pseudo-likelihood measure. This requires computing the optimal weights for each candidate structure, but we show how this can be done efficiently. The algorithm can be used to learn an MLN from scratch, or to refine an existing knowledge base. We have applied it in two real-world domains, and found that it outperforms using off-the-shelf ILP systems to learn the MLN structure, as well as pure ILP, purely probabilistic and purely knowledge-based approaches.
We explore here the application of Gleaner, an Inductive logicprogramming approach to learning in highly-skewed domains, to the Learning Language in logic 2005 biomedical information-extraction challenge task. We cre...
详细信息
We explore here the application of Gleaner, an Inductive logicprogramming approach to learning in highly-skewed domains, to the Learning Language in logic 2005 biomedical information-extraction challenge task. We create and describe a large number of background knowledge predicates suited for this task. We find that Gleaner outperforms standard Aleph theories with respect to recall and that additional linguistic background knowledge improves recall.
Inference in Conditional Random Fields and Hidden Markov Models is done using the Viterbi algorithm, an efficient dynamic programming algorithm. In many cases, general (non-local and non-sequential) constraints may ex...
详细信息
ISBN:
(纸本)1595931805
Inference in Conditional Random Fields and Hidden Markov Models is done using the Viterbi algorithm, an efficient dynamic programming algorithm. In many cases, general (non-local and non-sequential) constraints may exist over the output sequence, but cannot be incorporated and exploited in a natural way by this inference procedure. This paper proposes a novel inference procedure based on integer linear programming (ILP) and extends CRF models to naturally and efficiently support general constraint structures. For sequential constraints, this procedure reduces to simple linear programming as the inference process. Experimental evidence is supplied in the context of an important NLP problem, semantic role labeling.
We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical twostep approach to induction of functional Lisp programs of Summers (1977). In a fir...
详细信息
We describe an approach to the inductive synthesis of recursive equations from input/outputexamples which is based on the classical twostep approach to induction of functional Lisp programs of Summers (1977). In a first step, I/Oexamples are rewritten to traces which explain the outputs given the respective inputs based on a datatype theory. This traces can be integrated into one conditional expression which represents a non-recursive program. In a second step, this initial program term is generalized into recursive equations by searching for syntactical regularities in the term. Our approach extends the classical work in several aspects. The most important extensions are that we are able to induce a set of recursive equations in one synthesizing step, the equations may contain more than one recursive call, and additionally needed parameters are automatically introduced.
暂无评论