232,276 research outputs found
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Introductory programming: a systematic literature review
As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
Automatic Termination Analysis of Programs Containing Arithmetic Predicates
For logic programs with arithmetic predicates, showing termination is not
easy, since the usual order for the integers is not well-founded. A new method,
easily incorporated in the TermiLog system for automatic termination analysis,
is presented for showing termination in this case.
The method consists of the following steps: First, a finite abstract domain
for representing the range of integers is deduced automatically. Based on this
abstraction, abstract interpretation is applied to the program. The result is a
finite number of atoms abstracting answers to queries which are used to extend
the technique of query-mapping pairs. For each query-mapping pair that is
potentially non-terminating, a bounded (integer-valued) termination function is
guessed. If traversing the pair decreases the value of the termination
function, then termination is established. Simple functions often suffice for
each query-mapping pair, and that gives our approach an edge over the classical
approach of using a single termination function for all loops, which must
inevitably be more complicated and harder to guess automatically. It is worth
noting that the termination of McCarthy's 91 function can be shown
automatically using our method.
In summary, the proposed approach is based on combining a finite abstraction
of the integers with the technique of the query-mapping pairs, and is
essentially capable of dividing a termination proof into several cases, such
that a simple termination function suffices for each case. Consequently, the
whole process of proving termination can be done automatically in the framework
of TermiLog and similar systems.Comment: Appeared also in Electronic Notes in Computer Science vol. 3
Quadtrees as an Abstract Domain
Quadtrees have proved popular in computer graphics and spatial databases as a way of representing regions in two dimensional space. This hierarchical data-structure is flexible enough to support non-convex and even disconnected regions, therefore it is natural to ask whether this datastructure can form the basis of an abstract domain. This paper explores this question and suggests that quadtrees offer a new approach to weakly relational domains whilst their hierarchical structure naturally lends itself to representation with boolean functions
Computational Performance Evaluation of Two Integer Linear Programming Models for the Minimum Common String Partition Problem
In the minimum common string partition (MCSP) problem two related input
strings are given. "Related" refers to the property that both strings consist
of the same set of letters appearing the same number of times in each of the
two strings. The MCSP seeks a minimum cardinality partitioning of one string
into non-overlapping substrings that is also a valid partitioning for the
second string. This problem has applications in bioinformatics e.g. in
analyzing related DNA or protein sequences. For strings with lengths less than
about 1000 letters, a previously published integer linear programming (ILP)
formulation yields, when solved with a state-of-the-art solver such as CPLEX,
satisfactory results. In this work, we propose a new, alternative ILP model
that is compared to the former one. While a polyhedral study shows the linear
programming relaxations of the two models to be equally strong, a comprehensive
experimental comparison using real-world as well as artificially created
benchmark instances indicates substantial computational advantages of the new
formulation.Comment: arXiv admin note: text overlap with arXiv:1405.5646 This paper
version replaces the one submitted on January 10, 2015, due to detected error
in the calculation of the variables involved in the ILP model
On the influence of creativity in basic programming learning at a first-year Engineering course
Teaching fundamentals of programming is a complex task that involves the students’ acquisition of diverse knowledge and skills. It is also well known that programming often requires a certain degree of creativity. There are some studies on how to foster creativity with programming, but few studies have analyzed the influence of students creativity on their performance as programmers. In this paper we present the results of a study, with a sample of 89 freshmen engineering students. Our results suggest (p<0.01) that a high level of creativity is correlated with achieving excellence in programming. Creativity is a generic competence which is not currently covered with in most engineering curricula, and we conclude it should be taken into account. Females, diverse thinking student and some disadvantage groups may benefit from a free-thinking environment in the classroom, in particular at their first-year in college.Peer ReviewedPostprint (author's final draft
Implementing Groundness Analysis with Definite Boolean Functions
The domain of definite Boolean functions, Def, can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, previously unexploited computational properties of Def are utilised to develop an efficient and succinct groundness analyser that can be coded in Prolog. In particular, entailment checking is used to prevent unnecessary least upper bound calculations. It is also demonstrated that join can be defined in terms of other operations, thereby eliminating code and removing the need for preprocessing formulae to a normal form. This saves space and time. Furthermore, the join can be adapted to straightforwardly implement the downward closure operator that arises in set sharing analyses. Experimental results indicate that the new Def implementation gives favourable results in comparison with BDD-based groundness analyses
Backdoors to Normality for Disjunctive Logic Programs
Over the last two decades, propositional satisfiability (SAT) has become one
of the most successful and widely applied techniques for the solution of
NP-complete problems. The aim of this paper is to investigate theoretically how
Sat can be utilized for the efficient solution of problems that are harder than
NP or co-NP. In particular, we consider the fundamental reasoning problems in
propositional disjunctive answer set programming (ASP), Brave Reasoning and
Skeptical Reasoning, which ask whether a given atom is contained in at least
one or in all answer sets, respectively. Both problems are located at the
second level of the Polynomial Hierarchy and thus assumed to be harder than NP
or co-NP. One cannot transform these two reasoning problems into SAT in
polynomial time, unless the Polynomial Hierarchy collapses. We show that
certain structural aspects of disjunctive logic programs can be utilized to
break through this complexity barrier, using new techniques from Parameterized
Complexity. In particular, we exhibit transformations from Brave and Skeptical
Reasoning to SAT that run in time O(2^k n^2) where k is a structural parameter
of the instance and n the input size. In other words, the reduction is
fixed-parameter tractable for parameter k. As the parameter k we take the size
of a smallest backdoor with respect to the class of normal (i.e.,
disjunction-free) programs. Such a backdoor is a set of atoms that when deleted
makes the program normal. In consequence, the combinatorial explosion, which is
expected when transforming a problem from the second level of the Polynomial
Hierarchy to the first level, can now be confined to the parameter k, while the
running time of the reduction is polynomial in the input size n, where the
order of the polynomial is independent of k.Comment: A short version will appear in the Proceedings of the Proceedings of
the 27th AAAI Conference on Artificial Intelligence (AAAI'13). A preliminary
version of the paper was presented on the workshop Answer Set Programming and
Other Computing Paradigms (ASPOCP 2012), 5th International Workshop,
September 4, 2012, Budapest, Hungar
- …