96 research outputs found

    Practical Run-time Checking via Unobtrusive Property Caching

    Full text link
    The use of annotations, referred to as assertions or contracts, to describe program properties for which run-time tests are to be generated, has become frequent in dynamic programing languages. However, the frameworks proposed to support such run-time testing generally incur high time and/or space overheads over standard program execution. We present an approach for reducing this overhead that is based on the use of memoization to cache intermediate results of check evaluation, avoiding repeated checking of previously verified properties. Compared to approaches that reduce checking frequency, our proposal has the advantage of being exhaustive (i.e., all tests are checked at all points) while still being much more efficient than standard run-time checking. Compared to the limited previous work on memoization, it performs the task without requiring modifications to data structure representation or checking code. While the approach is general and system-independent, we present it for concreteness in the context of the Ciao run-time checking framework, which allows us to provide an operational semantics with checks and caching. We also report on a prototype implementation and provide some experimental results that support that using a relatively small cache leads to significant decreases in run-time checking overhead.Comment: 30 pages, 1 table, 170 figures; added appendix with plots; To appear in Theory and Practice of Logic Programming (TPLP), Proceedings of ICLP 201

    On Improving Run-time Checking in Dynamic Languages

    Get PDF
    In order to detect incorrect program behaviors, a number of approaches have been proposed, which include a combination of language-level constructs (procedure-level annotations such as assertions/contracts, gradual types, etc.) and associated tools (such as static code analyzers and run-time verification frameworks). However, it is often the case that these constructs and tools are not used to their full extent in practice due to a number of limitations such as excessive run-time overhead and/or limited expressiveness. The issue is especially prominent in the context of dynamic languages without an underlying strong type system, such as Prolog. In our work we propose several practical solutions for minimizing the run-time overhead associated with assertion-based verification while keeping the correctness guarantees provided by run-time checks. We present the solutions in the context of the Ciao system, where a combination of an abstract interpretation-based static analyzer and run-time verification framework is available, although our proposals can be straightforwardly adapted to any other similar system

    An Approach to Static Performance Guarantees for Programs with Run-time Checks

    Full text link
    Instrumenting programs for performing run-time checking of properties, such as regular shapes, is a common and useful technique that helps programmers detect incorrect program behaviors. This is specially true in dynamic languages such as Prolog. However, such run-time checks inevitably introduce run-time overhead (in execution time, memory, energy, etc.). Several approaches have been proposed for reducing such overhead, such as eliminating the checks that can statically be proved to always succeed, and/or optimizing the way in which the (remaining) checks are performed. However, there are cases in which it is not possible to remove all checks statically (e.g., open libraries which must check their interfaces, complex properties, unknown code, etc.) and in which, even after optimizations, these remaining checks still may introduce an unacceptable level of overhead. It is thus important for programmers to be able to determine the additional cost due to the run-time checks and compare it to some notion of admissible cost. The common practice used for estimating run-time checking overhead is profiling, which is not exhaustive by nature. Instead, we propose a method that uses static analysis to estimate such overhead, with the advantage that the estimations are functions parameterized by input data sizes. Unlike profiling, this approach can provide guarantees for all possible execution traces, and allows assessing how the overhead grows as the size of the input grows. Our method also extends an existing assertion verification framework to express "admissible" overheads, and statically and automatically checks whether the instrumented program conforms with such specifications. Finally, we present an experimental evaluation of our approach that suggests that our method is feasible and promising.Comment: 15 pages, 3 tables; submitted to ICLP'18, accepted as technical communicatio

    Time for Change

    Get PDF

    Політичні інститути й економіка: взаємодія та взаємозалежність

    Get PDF
    Стулова І. М. Політичні інститути й економіка: взаємодія та взаємозалежність : автореф. дис. ... канд. політ. наук : 23.00.02 / І. М. Стулова; кер. роботи Л. О. Ануфрієв; Нац. ун.-т "Одеська юридична академія". – Одеса, 2002. – 18 с.Дисертація на здобуття наукового ступеня кандидата політичних наук за спеціальністью 23.00.02 – політичні інститути та процеси. Одеська національна юридична академія, Одеса, 2002. У дисертації розглянуті фактори взаємозв’язку економічної та політичної сфери в державі. Розкривається взаємозв’язок процесу демократизації й економічного розвитку, розглядається вплив показників економічного розвитку на демократизацію. Аналізуються ключові проблеми української держави в політичній сфері та інститутах державної влади. Досліджуються позитивні і негативні сторони державного регулювання економічних процесів, основні напрямки економічної політики в Украіні. Описані основні завдання, які стоять перед державою у період переходу до ринкової економіки і демократичних основ державної політики. Відзначається необхідність знаходження балансу між виправданою державною участю в економіці і ринком, пропонуються пріоритетні напрямки економічної політики України.Диссертация на соискание научной степени кандидата политических наук по специальности 23.00.02 – политические институты и процессы. – Одесская национальная юридическая академия, Одесса, 2002. Рассмотрены факторы взаимосвязи экономической и политической сферы в государстве. Раскрывается взаимосвязь процесса демократизации и экономического развития. Анализируются ключевые проблемы украинского государства в политической сфере и институтах государственной власти. Исследуются положительные и отрицательные стороны государственного регулирования экономических процессов, основные направления экономической политики в Украине. Описаны основные задачи, стоящие перед государством в период демократизации и перехода к рыночной экономике. Отмечается необходимость нахождения оптимального баланса между оправданным государственным участием в экономике и рынком, предлагаются приоритетные направления экономической политики Украины.The dissertation on competition of a scientific degree of the candidate of economic sciences on a specialty 23.00.02 – political institutes and processes. Odessa National Law Academy, Odessa, 2002. The dissertation contains results of research on a problem of mutual influence and mutual dependency of political sphere (general political regime, political institutes, processes, etc.) and economy. Main disadvantages of previous investigations in the field of mutual connection and mutual acting of political and economical institutes and processes are defined. Complex analysis of reformation of political system and creation of effective political institutes in the countries of Eastern Europe and USA is made. The necessity of consideration of political and economic systems in mutual correlation and mutual functioning is proved. As the result of carried out researches the conclusion was made that the equilibrium of correlation between political institutes and economy influences development of economic potential of the society, its welfare, level of democratic processes development and activity of social and political and economic system in the whole. It is shown that violation of this equilibrium become the reason of different negative consequences such as economic crisis, reduction of level of life, growth of the inflation and so on. The necessity of taking into account economic factors when making political decisions is grounded in the work. In the dissertation is also shown that democratization of the society is depend not only from economic growth but from its type too which is determined by the type of the state and by the level of its relations with the society. Also it is shown that economic growth in its turn is proportionally depend on the democratization in the state. The economic determinants of democratization are investigated. The need of radical transformation of the mechanisms of intrusion of the state into the economic sphere is proved, the need of transitional society in carrying out of wide-scale institutional reform, the result of which the appearance of new complex of the institutes which will be able to develop the economy and to function in its conditions, are founded. The non-efficiency of non-democratic regimes and their negative influence on the State system are shown. The key problems of Ukraine in political and economic sphere are clearly shown. The legal basis of the government functioning is considered and the evidence of the necessity of review of Ukrainian Constitution towards reapportionment of power authorities in favour of the government is shown. The positive and negative aspects of state regulation are also considered in the dissertation. It is proved that the effectiveness of market reforms is determined by the optimal balance between reasonable state participation in the economy and the market. The current situation in the political and economic sphere of Ukraine is analyzed. As one of the main aims of the state the necessity of change of its treatment to business is designated. As the distinguishing feature of optimal state strategy in the conditions of globalization its collaboration with the society is indicated. Also the aims and directions of economic policy of the state at present stage among which are formation of effective national capital, counteraction to reduction of the level of population life, increasing of common weal, increasing of appropriations on social objectives, support of small and medium business, formation of medium class, etc. are suggested. The reasons of necessity of state intrusion into economy are analyzed, the conditions in which intrusion of the state into economy may be considered as justified, the optimal balance of justified and scientifically grounded participation of the state in economic processes and the own mechanism of free market is defined. All the results of dissertation work in common resolve concrete scientific task on the reforming of the system of political institutes of Ukraine, improving of their collaboration with the other spheres of social life, including with the economic processes, rationalization and scientific grounding of the state participation in the economy, which have essential meaning for our country in the present time, in the conditions of globalization and entering of Ukraine to the world economic society. The results of dissertation work can be useful for the bodies of state power in analysis of political and social and economic situation in Ukraine, determination of outlooks of further development of he economy and society, liberty and democracy in independent Ukraine, in resolving problems of interaction of political institutes and economy

    Interactive Behavior-driven Development: a Low-code Perspective

    Get PDF
    Within behavior-driven development (BDD), different types of stakeholders collaborate in creating scenarios that specify application behavior. The current workflow for BDD expects non-technical stakeholders to use an integrated development environment (IDE) to write textual scenarios in the Gherkin language and verify application behavior using test passed/failed reports. Research to date shows that this approach leads non-technical stakeholders to perceive BDD as an overhead in addition to the testing. In this vision paper, we propose an alternative approach to specify and verify application behavior visually, interactively, and collaboratively within an IDE. Instead of writing textual scenarios, non-technical stakeholders compose, edit, and save scenarios by using tailored graphical interfaces that allow them to manipulate involved domain objects. Upon executing such interactively composed scenarios, all stakeholders verify the application behavior by inspecting domain-specific representations of run-time domain objects instead of a test run report. Such a low code approach to BDD has the potential to enable nontechnical stakeholders to engage more harmoniously in behavior specification and validation together with technical stakeholders within an IDE. There are two main contributions of this work: (i) we present an analysis of the features of 13 BDD tools, (ii) we describe a prototype implementation of our approach, and (iii) we outline our plan to conduct a large-scale developer survey to evaluate our approach to highlight the perceived benefits over the existing approach

    A Decade of Code Comment Quality Assessment: A Systematic Literature Review

    Get PDF
    Code comments are important artifacts in software systems and play a paramount role in many software engineering (SE) tasks related to maintenance and program comprehension. However, while it is widely accepted that high quality matters in code comments just as it matters in source code, assessing comment quality in practice is still an open problem. First and foremost, there is no unique definition of quality when it comes to evaluating code comments. The few existing studies on this topic rather focus on specific attributes of quality that can be easily quantified and measured. Existing techniques and corresponding tools may also focus on comments bound to a specific programming language, and may only deal with comments with specific scopes and clear goals (e.g., Javadoc comments at the method level, or in-body comments describing TODOs to be addressed). In this paper, we present a Systematic Literature Review (SLR) of the last decade of research in SE to answer the following research questions: (i) What types of comments do researchers focus on when assessing comment quality? (ii) What quality attributes (QAs) do they consider? (iii) Which tools and techniques do they use to assess comment quality?, and (iv) How do they evaluate their studies on comment quality assessment in general? Our evaluation, based on the analysis of 2353 papers and the actual review of 47 relevant ones, shows that (i) most studies and techniques focus on comments in Java code, thus may not be generalizable to other languages, and (ii) the analyzed studies focus on four main QAs of a total of 21 QAs identified in the literature, with a clear predominance of checking consistency between comments and the code. We observe that researchers rely on manual assessment and specific heuristics rather than the automated assessment of the comment quality attributes

    Changes of gas metabolism, gas homeostasis and tissue respiration in rats during prolonged hypokinesia

    Get PDF
    The oxygen uptake and tissue gas homeostasis of restrained albinic rats remained relatively constant during a 60 day experiment. The gas metabolism in some tissues changed, and O2 consumption increased in the liver and decreased in the myocardium. Capacity for physical work was reduced by five times. Hypokinesia for 60 days resulted in a delay in the animals growth
    corecore