Methods not having side effects (pure methods) are beneficial in some situations. For example, data race does not occur among pure methods in multi-thread programs. Another example is that there are some cases where d...
详细信息
ISBN:
(纸本)9781509014293
Methods not having side effects (pure methods) are beneficial in some situations. For example, data race does not occur among pure methods in multi-thread programs. Another example is that there are some cases where developers expect methods are pure, such as equals, hashCode, and getter methods in Java. this paper presents a tool finding code changes where methods become pure/impure. this tool can prevent developers from inducing purity-related bugs to methods. the authors have applied the tool to two open source systems and found (1) a dozen of methods moved to pure/impure repeatedly and (2) there were many cases where purity of methods had changed without code changes.
the proceedings contain 27 papers. the topics discussed include: state-sensitive points-to analysis for the dynamic behavior of JavaScript objects;self-inferencing reflection resolution for java;constructing call grap...
ISBN:
(纸本)9783662442012
the proceedings contain 27 papers. the topics discussed include: state-sensitive points-to analysis for the dynamic behavior of JavaScript objects;self-inferencing reflection resolution for java;constructing call graphs of scala programs;finding reference-counting errors in python/C programs with affine analysis;safely composable type-specific languages;graceful dialects;structuring documentation to support state search: a laboratory experiment about protocol programming;reusable concurrent data types;infrastructure-free logging and replay of concurrent execution on multiple cores;sound and complete subtyping between co-inductive types for object-oriented languages;spores: a type-based foundation for closures in the age of concurrency and distribution;rely-guarantee protocols;and stream processing with a spreadsheet.
the support for generic programming in modern object-orientedprogramming languages is awkward and lacks desirable expressive power. We introduce an expressive genericity mechanism that adds expressive power and stren...
详细信息
ISBN:
(纸本)9781450334686
the support for generic programming in modern object-orientedprogramming languages is awkward and lacks desirable expressive power. We introduce an expressive genericity mechanism that adds expressive power and strengthens static checking, while remaining lightweight and simple in common use cases. Like type classes and concepts, the mechanism allows existing types to model type constraints retroactively. For expressive power, we expose models as named constructs that can be defined and selected explicitly to witness constraints;in common uses of genericity, however, types implicitly witness constraints without additional programmer effort. Models are integrated into the object-oriented style, with features like model generics, model-dependent types, model enrichment, model multimethods, constraint entailment, model inheritance, and existential quantification further extending expressive power in an object-oriented setting. We introduce the new genericity features and show that common generic programming idioms, including current generic libraries, can be expressed more precisely and concisely. the static semantics of the mechanism and a proof of a key decidability property can be found in an associated technical report.
Foundational models of object-oriented constructs typically model objects as records with a structural type. However, many object-oriented languages are class-based;statically-typed formal models of these languages te...
详细信息
this work proposes a novel approach to automatically synthesize Failure Modes And Effects And Criticality Analysis (FMECA), which looks at the functional characteristics of the industrial components to frame their nom...
详细信息
this work explores the creation of ambiguous images, i.e., images that may induce multistable perception, by evolutionary means. Ambiguous images are created using a general purpose approach, composed of an expression...
详细信息
ISBN:
(纸本)9781577357384
this work explores the creation of ambiguous images, i.e., images that may induce multistable perception, by evolutionary means. Ambiguous images are created using a general purpose approach, composed of an expression-based evolutionary engine and a set of object detectors, which are trained in advance using Machine Learning techniques. Images are evolved using Genetic programming and object detectors are used to classify them. the information gathered during classification is used to assign fitness. In a first stage, the system is used to evolve images that resemble a single object. In a second stage, the discovery of ambiguous images is promoted by combining pairs of object detectors. the analysis of the results highlights the ability of the system to evolve ambiguous images and the differences between computational and human ambiguous images.
Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adopti...
详细信息
ISBN:
(纸本)9781450336871
Using GPUs as general-purpose processors has revolutionized parallel computing by offering, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to widespread adoption, however, is the difficulty of programmingthem and the low-level control of the hardware required to achieve good performance. this paper suggests a programming library, SafeGPU, that aims at striking a balance between programmer productivity and performance, by making GPU data-parallel operations accessible from within a classical object-orientedprogramming language. the solution is integrated withthe design-by-contract approach, which increases confidence in functional program correctness by embedding executable program specifications into the program text. We show that our library leads to modular and maintainable code that is accessible to GPGPU non-experts, while providing performance that is comparable with hand-written CUDA code. Furthermore, runtime contract checking turns out to be feasible, as the contracts can be executed on the GPU.
Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. this work provides an efficient execution model for SCOOP, a concurrency approach that provides not only d...
详细信息
ISBN:
(纸本)9781450336758
Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. this work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data-race freedom but also pre/postcondition reasoning guarantees between threads. the extensions we propose influence boththe underlying semantics to increase the amount of concurrent execution that is possible, exclude certain classes of deadlocks, and enable greater performance. these extensions are used as the basis of an efficient runtime and optimization pass that improve performance 15x over a baseline implementation. this new implementation of SCOOP is, on average, also 2x faster than other well-known safe concurrent languages. the measurements are based on both coordination-intensive and data-manipulation-intensive benchmarks designed to offer a mixture of workloads.
Combinations of structural and nominal object typing in systems such as Scala, Whiteoak, and Unity have focused on extending existing nominal, class-based systems with structural subtyping. the typical rules of nomina...
详细信息
the proceedings contain 24 papers. the topics discussed include: semantic formative e-assessment for project management professionals;an opportunistic approach to retaining use cases in object-oriented source code;emp...
ISBN:
(纸本)9781467379670
the proceedings contain 24 papers. the topics discussed include: semantic formative e-assessment for project management professionals;an opportunistic approach to retaining use cases in object-oriented source code;empirical metadata maintenance in source code development process;comparison of generally applicable mechanisms for preventing embedded event-driven real-time systems from interrupt overloads;performance evaluation and implementation of IP and robust header compression schemes for TCP and UDP traffic in the wireless context;work, span, and parallelism of transactional memory programs;distributed/parallel genetic algorithm for road traffic network division using step parallelization;flexible algorithms: enabling well-defined order-independent execution with an imperative programming style;EFL: implementing and testing an embedded language which provides safe and efficient parallel execution;and efficiency aspects of orientation estimation with optical flow on mobiles.
暂无评论